open3: exec сбой в Perl 5.18.2

Я написал Perl-скрипт для архивирования файлов с помощью модуля http://p3rl.org/Archive::SevenZip.

Я получил эту ошибку

open3: exec из 7z -y -bd l -slt "Filelocation" не выполнен в /usr/local/share/perl/5.18.2/Archive/SevenZip.pm.

Я не могу решить это.

1 ответ

Архив::SevenZip использует open3 выполнить утилиту командной строки 7z, Это сообщение указывает на звонок exec терпит неудачу.

Скорее всего проблема: 7z не установлен на вашем компьютере.

Если вы думаете, что это не проблема,

  1. Отредактируйте файл с именем perldoc -lm IPC::Open3,
  2. замещать

    exec @cmd or do {
        carp "$Me: exec of @cmd failed";
    

    с

    exec @_ or do {
        local($")=(" ");
        croak "$Me: exec of @_ failed: $!";
    };
    

    (Это изменение уже присутствует в более новых версиях IPC::Open3.)

  3. Перезапустите программу.
  4. Предоставьте более подробное сообщение об ошибке.
Другие вопросы по тегам