Perl中的连接变量

时间:2014-06-17 08:05:34

标签: linux perl

以下是我的代码。 据说我想将变量$ process与运行"的文本"进程连接起来。

my $process =`ps aux | grep '[c]pu2006' -c `;

my $process2= "$process" . " processes running\n";

print $process2;

我希望输出为:

3 processes running

但原来是:

3   
processes running

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:5)

您的$ process变量包含数字3和换行符。

您可以使用chop或chomp删除换行符。

所以你的脚本变成了:

my `$process =ps aux | grep '[c]pu2006' -c`;
chomp($process);
my $process2= "$process" . " processes running\n";
print $process2;
剁和chomp有点令人困惑......

如果你使用的是unix,你可以使用chop,因为unix只使用'\ n'作为行分隔符。

如果您正在使用Windows,您可以使用chomp,因为chomp足够聪明,可以知道输入行分隔符是什么,并将删除两个字符\ r和\ n。

最佳做法是使用chomp。

如果你想稍微清理它,你也可以说:

chomp (my $process =`ps aux | grep '[c]pu2006' -c`);
print "$process processes running\n";