Как я проверяю, работала ли 'lwp-загрузка' правильно?

Я ничего не знаю о Perl, но я срочно должен изменить сценарий Perl. В какой-то момент это загружает файл приблизительно 500 МБ с использования сервера system("lwp-download $HttpPath $Out");.

Есть ли какой-либо способ, которым я могу узнать, пошел ли процесс загрузки правильно, например, проверьте, имеет ли загруженный файл тот же размер как исходный?

Спасибо

1
задан xenoterracide 9 August 2010 в 05:29
поделиться

2 ответа

Глупо отделять свою программу Perl от запуска lwp-download , другой программы на Perl. Просто замените этот вызов mirror API из LWP :: Simple , и вы получите достойный отчет об ошибках прямо в вашей программе, вместо того, чтобы возиться с кодами выхода.

Если вам нужна еще лучшая / детальная проверка ошибок, также доступно зеркало из LWP :: UserAgent .

2
ответ дан 2 September 2019 в 22:30
поделиться

В общем, команда 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 для подробностей

0
ответ дан 2 September 2019 в 22:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: