我有一个散列,它应该包含某些链接到它们自己的数组的键。更具体地说,哈希键是质量值,数组是序列名称。如果已经有该质量的数组,我想将序列名称添加到与相关质量相关联的数组中。如果没有,我想创建一个并将序列名称添加到其中。所有这些都是在一个while循环中完成的,一个一个地遍历所有序列。
我试图在Perl 中做类似的事情如何从数组哈希中检索数组?但我似乎无法做到这一点。
我刚刚收到这些错误消息:标量值@{hash{$q} 最好在 asdasd.pl 第 69 行写成 ${hash{$q}。全局符号“@q”需要显式包名称 asdasd.pl 第 58 行。其他一些人也是。
这是我尝试过的示例:
my %hash;
while (reading the sequences) {
my $q = "the value the sequence has";
my $seq = "the name of the sequence";
if (exists $hash{$q}) {
push (@{$hash{$q}}, $seq);
} else {
$hash{$q} = \@q;
$hash{$q} = [$seq];
next;
}
}
这显然不应该是一个非常复杂的问题,但我是 perl 的新手,这种问题感觉很困难。我已经从不同的地方搜索了这个,但似乎有些东西我没有意识到,而且它可能也很明显。