完全なシェル環境でperlシステムコマンドを実行しようとしています。 shell = TrueのPythonのPopenと同様です。試したシステム( '/ bin/bash -c "something"')が動作しませんでした。誰かがperl以外の人を引き付けます!Perl:シェル環境でシステムコマンドを実行
#!/usr/bin/perl
use strict;
use warnings;
my $path = $ENV{'PATH'};
print "ENV-PATH: ";
print $path;
print "\n";
print "sys-PATH: ";
system("echo \$PATH") == 0 or die;
print "\n";
あなたがこのプログラムからの出力を含めるようにあなたの質問を編集することができます。
---更新---
# ./test.pl
ENV-PATH: /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
sys-PATH: /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
Perl 'system'は、複数の引数を指定して呼び出さない限り、シェルを通してコマンドを実行しています。 [docs](http://search.cpan.org/perldoc?perlfunc#system)を読んでください。 – salva