我正在从文件/ STDIN
中读取并查找特定值:
use strict;
use warnings;
my $find = 'def';
while (<DATA>) {
if ($_ eq $find) {
print "Found: $_\n"; # Never reached!
}
}
__DATA__
abc
def
xyz
为什么情况从未匹配?
答案 0 :(得分:2)
Data::Dumper
可用于更仔细地检查变量:
use Data::Dumper;
local $Data::Dumper::Useqq = 1;
print Dumper $_, $find;
输出,例如
$VAR1 = "def\n";
$VAR2 = "def";
您必须删除\n
读入<DATA>
的{{1}}字符。最简单的方法是chomp
函数
$_