abl*_*mit 1 arrays perl hash list
我有一个文件,其中每一行都是一个代表id的整数.我想要做的只是检查这个列表中是否有一些特定的ID.但是代码没有用.它永远不会告诉我它存在,即使123是该文件中的一行.我不知道为什么?帮助赞赏.
open (FILE, "list.txt") or die ("unable to open !");
my @data=<FILE>;
my %lookup =map {chop($_) => undef} @data;
my $element= '123';
if (exists $lookup{$element})
{
print "Exists";
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
您希望确保正确地创建哈希.非常过时的印章不是你想要使用的.请改用chomp,并在创建哈希之前立即在整个数组上使用它:
open my $fh, '<', 'list.txt' or die "unable to open list.txt: $!";
chomp( my @data = <$fh> );
my $hash = map { $_, 1 } @data;
Run Code Online (Sandbox Code Playgroud)