为什么我的文件内容/用户输入不匹配? (缺少chomp规范)

时间:2014-08-29 15:54:05

标签: perl

我正在从文件/ STDIN中读取并查找特定值:

use strict;
use warnings;

my $find = 'def';    
while (<DATA>) {
    if ($_ eq $find) {
        print "Found: $_\n"; # Never reached!
    }
}

__DATA__
abc
def
xyz

为什么情况从未匹配?

1 个答案:

答案 0 :(得分:2)

Data::Dumper可用于更仔细地检查变量:

use Data::Dumper;
local $Data::Dumper::Useqq = 1;

print Dumper $_, $find;

输出,例如

$VAR1 = "def\n";
$VAR2 = "def";

您必须删除\n读入<DATA>的{​​{1}}字符。最简单的方法是chomp函数

$_