perl 数组嵌套入哈希内

这里是指数组作为hash的value,即一个key对应多个值

这里利用perl中的特殊句柄DATA做示例用以备忘{perl 数据结构一旦复杂点,可读性急剧下降,坑🕳}。
demo:
use strict;
use warnings;

my %ha;
while(<DATA>){
        chomp;
        my @e =split;
        my @w = split //,$e[1];
        @{$ha{$e[0]}}= (\@e,\@w); #这一行等同于下面注释掉的两行,value是有多个引用的数组
        #push(@{$ha{$e[0]}},\@e);
        #push(@{$ha{$e[0]}},\@w);
}

foreach my $k(keys %ha){
        my @arr = @{$ha{$k}};
        print join(":",@{$arr[0]}),"\n";
        print join(">",@{$arr[1]}),"\n";
}

__DATA__
1       AGTCAT  I
2       AGTCGA  J
3       GTCATG  K
output:
3:GTCATG:K
G>T>C>A>T>G
2:AGTCGA:J
A>G>T>C>G>A
1:AGTCAT:I
A>G>T>C>A>T
posted @ 2022-08-31 21:48  天使不设防  阅读(323)  评论(0编辑  收藏  举报