1

Perlについては何も知りませんが、緊急にPerlスクリプトを変更する必要があります。ある時点で、を使用してサーバーから約500MBのファイルをダウンロードしていますsystem("lwp-download $HttpPath $Out");

ダウンロードプロセスが正しく行われたかどうかを確認する方法はありますか?たとえば、ダウンロードしたファイルのサイズが元のファイルと同じかどうかを確認しますか?

ありがとう

4

2 に答える 2

2

別のPerlプログラムを実行するためにPerlプログラムからシェルアウトするのはばかげたことlwp-downloadです。mirrorその呼び出しをからのAPILWP::Simpleに置き換えるだけで、終了コードをいじる代わりに、プログラム内で直接、適切なエラーレポートを取得できます。

さらに優れた/きめ細かいエラーチェックが必要な場合は、mirrorfromLWP::UserAgentも利用できます。

于 2010-08-03T06:15:47.150 に答える
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してください

于 2010-08-03T01:46:37.187 に答える