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

Perl 为什么我的文件内容/用户输入不匹配?(缺少chomp规范),perl,Perl,我正在读取文件/STDIN并查找特定值: use strict; use warnings; my $find = 'def'; while (<DATA>) { if ($_ eq $find) { print "Found: $_\n"; # Never reached! } } __DATA__ abc def xyz 使用严格; 使用警告; 我的$find='def'; 而(){ 如果($\ueq$find){ 打印“已找到:$\

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

use strict;
use warnings;

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

__DATA__
abc
def
xyz
使用严格;
使用警告;
我的$find='def';
而(){
如果($\ueq$find){
打印“已找到:$\n”#从未到达!
}
}
__资料__
abc
def
xyz
为什么条件从未匹配?

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

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

print Dumper $_, $find;
输出,例如

$VAR1 = "def\n";
$VAR2 = "def";
您必须删除读入
$\n
字符。最简单的方法是函数

使用严格;
使用警告;
我的$find='def';
而(){
咀嚼;
如果($\ueq$find){
打印“已找到:$\n”#从未到达!
}
}
__资料__
abc
def
xyz
可用于更仔细地检查变量:

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

print Dumper $_, $find;
输出,例如

$VAR1 = "def\n";
$VAR2 = "def";
您必须删除读入
$\n
字符。最简单的方法是函数

使用严格;
使用警告;
我的$find='def';
而(){
咀嚼;
如果($\ueq$find){
打印“已找到:$\n”#从未到达!
}
}
__资料__
abc
def
xyz

如果有人知道一个已经存在的一般性“忘记咀嚼我的输入”问题,请随意将其标记为重复问题。很难为这类问题找到标准的重复问题。OP很少知道出了什么问题,所以他们的标题/问题当然不会提到chomp或行尾。如果有人知道一个已经存在的一般性“忘记chomp my input”问题,请随意将其标记为重复问题。这种类型的问题很难找到标准的重复问题。这篇文章的作者很少知道哪里出了问题,所以他们的标题/问题当然没有提到食物或行尾。