我有一个文件需要读取,每个位置的id数量是不确定的,格式如下:
loc1 id1 id4 id5 id9
loc2 id2
loc3 id1 id11 id23
我希望将其存储为locs(loc) = {属于该位置的所有id},这样以后,当我读取另一个文件时,可以像下面这样操作:
if (grep id, locs(loc)){do something}
我尝试使用哈希来实现这个,但是没有起作用。我尝试了:
open my $loclist, '<', $ARGV[0];
my %locs;
while (<$loclist>) {
my @loclist_rec = split;
my $loclist_loc = @rlist_rec[0];
$locs{$loclist_loc} = @loclist_rec;
}
但是这并没有起作用。 我对Perl还很陌生,仍在努力理解不同的数据类型。
有什么想法吗?非常感谢!
$locs{$loclist_loc} = \@loclist_rec;
将一个指向数组的 引用 存入哈希值中。 - Jim Garrison