以下是我的代码。 据说我想将变量$ process与运行"的文本"进程连接起来。
my $process =`ps aux | grep '[c]pu2006' -c `;
my $process2= "$process" . " processes running\n";
print $process2;
我希望输出为:
3 processes running
但原来是:
3
processes running
有人可以帮我解决这个问题吗?
答案 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";