Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Ошибка после извлечения файла


Автор: Grost 7.9.2010, 08:31
В командной строке пишу:
Код

arj e D:\CURD\Files\curd0907.arj D:\CURD -y

всё выполняется

Но после выполнения скрипта:
Код

$file="D:\\CURD\\Files\\curd0907.arj";
system "arj e $file D:\\CURD -y" or die"$!";

Пишет, что файл извлёк удачно. Но есть еще строка с ошибкой:
Цитата
Bad file descriptor at C:\....\script.pl line 2

Если or die"$!" убрать, то соответственно ошибка не всплывает.

Ошибка не сказывается на работе, файл всё равно извлекается нормально, но просто интересно из-за чего такое может быть.


Автор: DurRandir 7.9.2010, 10:13
perldoc -f system, там есть примеры правильной обработки

Автор: evilsoul 9.9.2010, 19:57
Просто system возвращает 0 если все прошло удачно.
Вот у тебя и срабатывает die
Тебе надо делать так
Код

$file="D:\\CURD\\Files\\curd0907.arj";
$ret = system "arj e $file D:\\CURD -y";
die "Error arj" if ($ret);


Как-то так

Вернее system возвращает код выполнения вызванной программы, обычно если все хорошо код равен 0

Автор: Grost 10.9.2010, 21:19
Да я сделал как в доке написано было и ошибка перестала появляться)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)