帮助调试perl变量插值
问题描述:
我需要帮助我的变量设置。此命令的一部分正在工作,但awk
命令除外。我认为它在这种情况下使用$2
?帮助调试perl变量插值
use strict;
use warnings;
my $cmd = qx(df -h | awk '{print $2}');
print "Output:$cmd\n";
答
$2
被perl评估为一个变量。你需要逃避它:
my $cmd = qx(df -h | awk '{print \$2}');
更新:
你不妨看看Filesys::DiskSpace。使用Perl本地解决方案通常比尝试使用系统调用和解析输入更好。
当你运行它时你会得到什么,你期望得到什么? –
@Igor使用该代码,他应该获得'在串联(。)或字符串中使用未初始化值$ 2“。 – TLP
是的,我在那个上慢了一点。我在你回答3分钟后回答,但我的回答与你的回答完全一样,所以我删除了我的回复。 –