Are you forgetting to bitshift 8 bits to the right? This certainly works under my modperl.
$ cat exit.pl #!/usr/bin/perl print "Exiting with $ARGV[0]\n"; warn "Sending to STDERR\n"; exit $ARGV[0]; $ cat test.pl #!/usr/bin/perl my $output = qx! /home/www/modperl/exit.pl 42 2>&1 !; # capture STDOU +T + STDERR with 2>&1 my $exit_code = $? >> 8; print "Content-Type: text/html\n\nExit: $exit_code ($?)\n$output\n"; # OUTPUT -> Exit: 42 (10752) Sending to STDERR Exiting with 42
Note: If you have installed a signal handler for SIGCHLD, the value of $? will usually be wrong outside that handler.
cheers
tachyon
In reply to Re: mod_perl and $?
by tachyon
in thread mod_perl and $?
by habit_forming
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |