in reply to Re: system and $?
in thread system and $?

you will see that there are 2 other "if" clauses that follow the test for -1!
Exactly. But in the other cases, the high byte is supposed to contain the exit code of the invoked program, and the low byte the child error. As you can see from my posting, only Cygwin reports a child error, while on the other examples, the child error is 0 too.

I think, the anonymous posting at Re: system and $? gives a clue of what is happening for the ActiveState/Windows case: Contrary to the documentation, the command shell *is* invoked, and it seems that CMD.EXE on Windows 2000 reports a non-existing program just by setting ERRORLEVEL to 1.

As for Solaris, I found that Perl 5.8.8 does it correctly, so returning zero is a bug in 5.8.7.

-- 
Ronald Fischer <ynnor@mm.st>