At 01:11 AM 7/29/2001 -0700, Michael G Schwern wrote: >On Wed, Jul 25, 2001 at 05:55:35PM -0500, Craig A. Berry wrote: >> The following recently added tests: >> >> lib/Test/Simple/t/exit.t >> lib/Test/Simple/t/simple.t > >May as well throw in t/run/exit.t, too. Oops, that's the one I meant, not simple.t. >I'm just following the instructions in perlfunc/system. > > The return value is the exit status of the program > as returned by the "wait" call. To get the actual > exit value divide by 256. > >perlport doesn't say anything about this not working under VMS or >anything else. If system's return value works different under VMS, it >should at least be mentioned there. Good point. It says so various other places but not there. >Looking at 'use vmsish "status"', it implies system() should work as >documented without it. Sounds like a bug/oversight. Well, perlvms.pod says: As described in L<perlfunc>, the return value of C<system> is a fake "status" which follows POSIX semantics unless the pragma C<use vmsish 'status'> is in effect; see the description of C<$?> in this document for more detail. which is not exactly what perlfunc describes, but if you find your way here it does explain what's going on. Looks like I'll have some doc patching to do once I figure out what exactly the tests should be testing for. Essentially it looks like the only thing that's portable is that 0 means success and anything non-zero means an error.Thread Previous | Thread Next