【发布时间】:2016-01-12 17:29:57
【问题描述】:
我有一个包含以下格式的两列文件:
CLL s_S616447
CLL s_S612703
MBL s_S599565
MBL s_S577819
UnAff s_S509781
UnAff s_S754982
我想用“CLL”、“MBL”和“UnAff”三个键创建一个散列。使用下面的代码,我可以将第一列指定为键,将第二列指定为值,但我不知道如何对键本身进行分组,以便哈希只有这三个键而不是键文件中的每一行。
这就是我目前所拥有的:
open REF, "list.txt";
my %sam_type = ();
while (<REF>) {
chomp $_;
@cols = split("\t", $_);
my $type = $cols[0];
my $sample = $cols[1];
$sam_type{$type} = $sample;
}
有人能引导我走向正确的方向吗?
【问题讨论】:
-
您尝试创建的数据结构严格来说不是散列。您希望将多个值分配给一个键,这是不可能的。您可以做的是将键的所有值存储在数组中。这将导致数组的散列。