Por que os backticks perl não veem nada além do primeiro espaço?

1

Eu tenho um comando

$output = 'somecommand parm1 parm2';

Quando tento executar este script em Perl, obtenho.

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

Parece que não está vendo nada além do primeiro espaço entre o '' Eu tenho um amigo que corre isso em um env diferente e funciona bem.

O que eu poderia ter no meu env que causaria isso? Estou usando perl 5.20.0.

    
por Todd Iglehart 23.06.2015 / 20:45

2 respostas

2

Pode ser um problema do PATH? Aqui está um script de exemplo que executa o comando echo que está no meu $ 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
]
    
por 24.06.2015 / 08:52
0

Se você está tentando executar um comando linux dentro do perl? Tente isso.

my $output = system("/path/to/command args");

link

    
por 23.06.2015 / 22:38

Tags