我对Perl一无所知,但我迫切需要修改Perl脚本。在某些时候,它使用system("lwp-download $HttpPath $Out");
从服务器下载大约500MB的文件。
有什么方法可以判断下载过程是否正确,例如检查下载的文件是否与原始文件大小相同?
由于
答案 0 :(得分:2)
从你的Perl程序中运行另一个Perl程序lwp-download
是一件蠢事。只需用mirror
API from LWP::Simple
替换该调用,就可以直接在程序中获得不错的错误报告,而不是弄乱退出代码。
如果您需要更好/细粒度的错误检查,mirror
from LWP::UserAgent
也可用。
答案 1 :(得分:0)
通常,system
命令返回 * 正在运行的程序的退出状态。按照惯例,返回值为零表示成功,非零表示某种错误。
典型的习语就像是
my $status = system($command);
if ($status == 0) {
# the program succeeded ...
} else {
# the program failed ...
warn "The program failed. Status = ", $status>>8, "\n";
}
* - 有点,请参阅perldoc -f system
了解详情