perl system command return code

Posted by Mel on Stack Overflow See other posts from Stack Overflow or by Mel
Published on 2010-05-24T13:35:38Z Indexed on 2010/05/24 13:51 UTC
Read the original article Hit count: 171

Filed under:
|

I have a script that has been running for over a year and now it is failing:

It is creating a command file:

open ( FTPFILE, ">get_list");
print FTPFILE "dir *.txt"\n";
print FTPFILE "quit\n";
close FTPFILE;

Then I run the system command:

$command = "ftp ".$Server." < get_list | grep \"\^-\" >new_list";
$code = system($command);

The logic the checks:

if ($code == 0) {

do stuff
} else {
log error
}

It is logging an error. When I print the $code variable, I am getting 256.

I used this command to parse the $? variable:

$exit_value  = $? >> 8;
$signal_num  = $? & 127;
$dumped_core = $? & 128;

print "Exit: $exit_value Sig: $signal_num Core: $dumped_core\n";

Results:

Exit: 1 Sig: 0 Core: 0

Thanks for any help/insight.

© Stack Overflow or respective owner

Related posts about perl

Related posts about system