So it seems that this is an intentional upstream change*. The perlvar entry for $? now notes that it contains "the 16-bit status word returned by the traditional Unix wait() system call (or else is made up to look like it). Thus, the exit value of the subprocess is really ($? >> 8), and $? & 127 gives which signal, if any, the process died from, and $? & 128 reports whether there was a core dump."
Unfortunately, a stopped process does not fit these semantics and moreover the W*() macros expect the un-molested status word as argument. You will need to change your code to test ${^CHILD_ERROR_NATIVE} rather than $? with the W*() macros. --bod * http://www.mail-archive.com/perl5-chan...@perl.org/msg11298.html -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org