Я пытаюсь решить проблему, в которой я создал хэш, используя
push @{ $test{$onecell2}{$onecell3}{$onecell4} }, $onecell1;
. Причина использования этого заключается в том, что первые 3 повторяются с несколькими значениями, которые являются Oncell1.
Я не могу напечатать хэш, потому что на четвертом уровне я получаю эту ошибку: Nòt a HASH reference
Было бы здорово, если бы кто-то мог помочь.Спасибо
my %test;
push @{ $test{$onecell2}{$onecell3}{$onecell4} }, $onecell1;
foreach my $name (sort keys %test) {
foreach my $subject (keys %{ $test{$name} }) {
foreach my $storage (keys %{ $test{$name}{$subject} }) {
foreach my $size (keys %{ $test{$name}{$subject}{$storage} }) {
print "$name: $subject: $storage: $size \n";
}
}
}
}
И ошибка: Not a HASH reference
Это хеш-структура
$VAR1 = {
'A1RE' => {
'Recombinant Human' => {
"Lyophilized protein " => [
'10 ug',
'50 ug',
'500 ug',
'1 mg'
]
}
};
Я ожидаю, что результат будет:
AIRE: Recombinant Human: Lyophilized protein: 10 ug,50 ug, 500 ug, 1mg.