Я хотел бы получить значение из хеша хешей, но я этого не делаю. Мой код:Получить значение из хэша хэшей
sub test {
my $filename = $_[0];
open INFILE, ${filename} or die $!;
my %hashCount;
my @firstline = split('\t',<INFILE>);
shift(@firstline);
while (my $line = <INFILE>)
{
my %temp;
chomp($line);
my @line = split('\t', $line);
foreach my $cpt (1..$#line) {
$temp{$firstline[$cpt-1]}=$line[$cpt];
}
$hashCount{$line[0]}={%temp};
}
return %hashCount;
}
sub get_hash_of_hash {
my $h = shift;
foreach my $key (keys %$h) {
if(ref $h->{$key}) {
get_hash_of_hash($h->{$key});
}
else {
say $h->{$key};
}
}
}
И когда я показывать мой хэш:
$VAR10679 = 'M00967_43_1106_2493_14707';
$VAR10680 = {
'A' => '1',
'B' => '0',
'C' => '1',
'D' => '0',
'E' => '0'
};
Моя первая функция возвращает мой хэш хэшей и я получу конкретное значение со второй функцией. Поэтому я хочу, чтобы получить значение как то:
my %hashTest = test("FILE.txt"); get_hash_of_hash(%hashTest,"M00967_43_1106_2493_14707","A") //return value '1'
Спасибо. он работает с $ hash {keyA} {keyB}. Но я думаю, что мой хэш хешифов не установлен, потому что у меня нет «=>» в моем хэше Dumper, как вы '' M00967_43_1106_2493_14707 '=> ' – Tof