Perl-скрипт вызывает распаковку командной системы unix

#perl #unix #system #unzip

#perl #unix #система #распаковать

Вопрос:

Я пытаюсь разархивировать файл с помощью скрипта Perl. Чтобы разархивировать файл, я решил попробовать и вызвать UNIX command system unzip. Похоже, моя проблема в том, что команда не считывает переменные.

 my $file_path = "/home/data"
my $file_name = "TEST.ZIP"

system ('unzip $file_path/$file_name');
  

Когда я запускаю команду, я вижу.

распаковать: не удается найти / , /.zip или /.ZIP .

Как мне решить эту проблему?

Ответ №1:

 system ("unzip $file_path/$file_name");
  

Используйте двойные кавычки, если вы хотите использовать интерполяцию строк.

Ответ №2:

Лучше использовать соответствующий Archive::Extract модуль () .