Я ничего не знаю о Perl, но я срочно должен изменить сценарий Perl. В какой-то момент это загружает файл приблизительно 500 МБ с использования сервера system("lwp-download $HttpPath $Out");
.
Есть ли какой-либо способ, которым я могу узнать, пошел ли процесс загрузки правильно, например, проверьте, имеет ли загруженный файл тот же размер как исходный?
Спасибо
Глупо отделять свою программу Perl от запуска lwp-download
, другой программы на Perl. Просто замените этот вызов mirror
API из LWP :: Simple
, и вы получите достойный отчет об ошибках прямо в вашей программе, вместо того, чтобы возиться с кодами выхода.
Если вам нужна еще лучшая / детальная проверка ошибок, также доступно зеркало
из LWP :: UserAgent
.
В общем, команда 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
для подробностей