【发布时间】:2010-05-24 13:35:38
【问题描述】:
我有一个脚本已经运行了一年多,现在它失败了:
它正在创建一个命令文件:
open ( FTPFILE, ">get_list");
print FTPFILE "dir *.txt"\n";
print FTPFILE "quit\n";
close FTPFILE;
然后我运行系统命令:
$command = "ftp ".$Server." < get_list | grep \"\^-\" >new_list";
$code = system($command);
检查的逻辑:
if ($code == 0) {
do stuff
} else {
log error
}
它正在记录一个错误。当我打印 $code 变量时,我得到 256。
我使用这个命令来解析 $?变量:
$exit_value = $? >> 8;
$signal_num = $? & 127;
$dumped_core = $? & 128;
print "Exit: $exit_value Sig: $signal_num Core: $dumped_core\n";
结果:
退出:1 Sig:0 核心:0
感谢您的帮助/见解。
【问题讨论】:
-
如果我必须这样做,我可能会尝试使用 CPAN 中的 Net::FTP 模块。该模块看起来拥有您需要的一切,我希望调试此类问题比运行系统命令更容易。