我有这样如何创建数组的哈希在Perl
Group AT1G01040-TAIR-G
LOC_Os03g02970 69%
Group AT1G01050-TAIR-G
LOC_Os10g26600 85%
LOC_Os10g26633 35%
Group AT1G01090-TAIR-G
LOC_Os04g02900 74%
数据如何创建的数据结构,看起来像这样:
print Dumper \%big;
$VAR = { "Group AT1G01040-TAIR-G" => ['LOC_Os03g02970 69%'],
"Group AT1G01050-TAIR-G" => ['LOC_Os10g26600 85%','LOC_Os10g26633 35%'],
"Group AT1G01090-TAIR-G" => ['LOC_Os04g02900 74%']};
这是我的尝试,但失败:
my %big;
while (<>) {
chomp;
my $line = $_;
my $head = "";
my @temp;
if ($line =~ /^Group/) {
$head = $line;
$head =~ s/[\r\s]+//g;
@temp =();
}
elsif ($line =~ /^\t/){
my $cont = $line;
$cont =~ s/[\t\r]+//g;
push @temp, $cont;
push @{$big{$head}},@temp;
};
}
为什么不产生哈希数组哈希?所以你的数据结构就像:'AT1G01040-TAIR-G'=> [{'LOC_Os03g02970'=> 69}](如果你需要对它们进行一些计算,或者将它们存储在xml或...中? ) –