This solves the problem! I want to be able to run the same program on both old and new systems, so rather than substituting $? for ${^CHILD_ERROR_NATIVE} directly, I substituted like so:
WIFSTOPPED(( defined ${^CHILD_ERROR_NATIVE} ? ${^CHILD_ERROR_NATIVE} : $? )) For the benefit of the curious, here's a link to the email thread that lead to the thread you referenced above: http://www.mail-archive.com/perl5-port...@perl.org/msg86900.html Also, I might have been able to figure this one out on my own if I had studied the perldelta man page and/or read the updated documentation for perl's builtin system() function: man perldelta perldoc -f system I am personally very grateful to you for your help as I was stumped and thought that this was actually a bug... Your time and expertise is greatly appreciated! Thank you, - Tor The link you referenced (above), for me at least, did not offer links to all the messages in the thread that discussed this change in perl. Here's a link to a message archive that allowed me to view the entire thread: http://grokbase.com/post/2005/05/12/why-is-forced-to-16-bits/k_QJoMkHvigmO7OI5cFHcYeScm4 http://grokbase.com/thread/m/2005/05/12/why-is-forced-to-16-bits/k_QJoMkHvigmO7OI5cFHcYeScm4 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org