in reply to Obtaining a return code

The special variable $? holds the status of the backtick or system operation. If you're really curious, you can do: my $sig_number = ($? & 255); to see which signal killed the process, if any. It's not all that useful, though, for system(), as you can get the return value anyway (as turnstep points out below).

Which return code are you expecting?

Replies are listed 'Best First'.
RE: Answer: Obtaining a return code
by turnstep (Parson) on May 21, 2000 at 20:36 UTC
    But $? is the same thing as just reading the return value yourself, right? At any rate, $? on my Win32 system doesn't show anything except "0", no matter what is in the system call:
    $rv = system("uname"); print "Returned a $rv and \$? is $?\n"; $rv = system("ver"); print "Returned a $rv and \$? is $?\n";

    Unix produces:

    SunOS
    Returned a 0 and $? is 0
    Returned a 65280 and $? is 65280
    

    Windoze produces:

    Bad command or file name
    Returned a 0 and $? is 0
    
    Windows 98 [Version 4.10.1998]
    
    Returned a 0 and $? is 0