use warnings;
use strict;
my $arg = $ARGV[0];
if (defined $arg and $arg eq 'exit_with_value') {
exit 42;
}
my $exit_value = system('system.pl exit_with_value');
# The exit value is a 16 bit value:
# the low 7 bits are the signal the process died from
# (if any) and
# the high 8 bits are the actuel exit value
#
# In order to get the output of a command, use backticks ``
#
# See also IPC::Run
printf "exit value: %d\n", $exit_value >> 8;