У меня есть команда
$output = `somecommand parm1 parm2`;
Когда я пытаюсь запустить этот Perl-скрипт, я получаю.
Can't exec "somecommand" at .....
Кажется, он не видит ничего, кроме первого пробела между словами: `` У меня есть друг, который запускает это в другом env, и он работает нормально.
Что у меня могло быть в моем окружении, что могло бы вызвать это? Я использую perl 5.20.0.
Это может быть проблема с PATH? Вот пример сценария, который запускает команду echo, которая находится в моем $ PATH.
root@kt-wim-play:~# cat test.pl
#!/usr/bin/perl -w
use strict;
print "PATH=$ENV{PATH}\n";
print "Running a command... [" . `echo foo bar baz` . "]\n";
root@kt-wim-play:~# perl test.pl
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Running a command... [foo bar baz
]
Если вы пытаетесь запустить команду linux внутри perl? Попробуй это.
my $output = system("/path/to/command args");