in reply to PERL exit code 255

What OS is it under? The error may be an OS error, not a Perl error. That's the place I'd be looking.

Revolution. Today, 3 O'Clock. Meet behind the monkey bars.

Replies are listed 'Best First'.
Re^2: PERL exit code 255
by mcintst (Initiate) on Oct 04, 2006 at 06:37 UTC
    I tend to agree. There is no 'die' statement in the whole script so I suspect that the OS (Windows 2000 server) tries and fails to run the PERL script and returns the value 255. -Stuart.
      There is no 'die' statement in the whole script

      The thing is that there doesn't have to be a die statement or an explicit exit(255) in the script to get an exit value of 255. But something must be setting that value. As a (somewhat ridiculous) example, if you have a C compiler you could compile the following C program into 'try.exe':
      int main(int argc, char * argv[]) { return 255; }

      And then you could run the following perl script:
      use warnings; my $ret = system("try.exe"); print $ret >> 8, "\n", $? >> 8, "\n";

      You would find that produces as output:
      255 255

      In that perl script, there's no die(), no mention of "255" and, in fact, nothing even failed - yet the 8 high bits of $? were set. (Hopefully, you don't have an executable that's running successfully and returning 255.)

      How do you find out what the exit code is ? Is there a 'print $exitcode;' in the script ? ... or a 'print $? >> 8;' ? ... If we know the means by which you are being made aware of the exit value, then that might help with our speculations.

      Cheers,
      Rob