2015-06-23 5 views
-1

У меня есть командаPerl кавычки игнорирует все мимо первого пространство

my $output = `somecommand parm1 parm2`; 

Когда я пытаюсь запустить этот скрипт на Perl, я получаю сообщение

Can't exec "somecommand" at ..... 

, кажется, он не видит ничего мимо первое пространство между обратными окнами. У меня есть друг, который управляет этим в другой среде, и он работает нормально.

Что я могу сделать в своей среде, которая может вызвать это? Я запускаю Perl v5.20, но так же и мой друг.

ответ

5

Perl не игнорирует параметры команды, это просто упоминанием только часть команды, что он имеет проблемы с - он не может найти somecommand

Независимо от вашего somecommand есть, это не командная оболочка, и это не в каталоге, указанном в вашей PATH переменной

Изменить PATH, чтобы добавить свое местоположение в конец, и оно будет работать для вас. Вы можете сделать это в рамках всей системы или временно изменить его в своем коде Perl, выполнив команду $ENV{PATH}, прежде чем запускать команду

+2

или развернуть 'somecommand' в'/the/full/path/of/somecommand' ... – tjd