获取执行perl的输出

时间:2011-06-20 22:03:51

标签: perl

通常要获取从perl运行的命令的输出,我使用返回tick

my $value = `pwd`;

如果我需要在后面的标记``?

中插入一个变量,我该怎么做呢

4 个答案:

答案 0 :(得分:7)

反引号内的文本在传递到操作系统之前进行插值,方式与双引号内的文本相同。所以这些陈述都是他们看起来的样子:

$value = `$command`;
$value = `$someCommand $arg`;
$value = `$someOtherCommand @list`;

qx()是运行外部命令并返回输出的另一种方法。如果由于某种原因你希望Perl插入你的命令,你可以使用单引号分隔符运行qx

$value = qx'echo $PATH';   # shell's $PATH, not Perl's $PATH

答案 1 :(得分:5)

你可以插入它。 E.g。

my $dir  = "/home"
my $text = `ls -l $dir`;

print $text;

答案 2 :(得分:4)

my $hello = "world";
my $value = ` echo $hello `;
print $value;

答案 3 :(得分:-1)

使用qx()而不是反引号。例如。我的($ used,$ dir); ($ used)= qx(du -k $ dir);