У меня есть файл журнала, который выглядит следующим образом.Создание хеша хэшей Perl
Year:2001
State: A
District A
District B
State: B
District A
District B
Year:2002
State: A
District A
District B
State: B
District A
District B
.
.
Year:2012
State: A
District A
District B
State: B
District A
District B
Я хотел бы иметь хэш хэш таким образом, что:
$VAR2 = {'2001' => {
'state A' => { district a
district b
}
'state B' => { district a
district b
}
}
2002' => {
'state A' => { district a
district b
}
'state B' => { district a
district b
}
}
};
Я попытался выше логики, используя 3 вложенных циклов следующим образом:
foreach my $key (keys %hash) {
foreach my $key2 (keys %{ $hash{$key} }) {
foreach my $key3 (keys %{ $hash{$key}{$key2} }) {
$value = $hash{$key}{$key2}->{$key3};
}
}
}
Пожалуйста, может кто-нибудь объяснить, мне нужна процедура. Или, по крайней мере, сообщите мне, если я пойду на путь записи. Спасибо.
Похоже, вы уже построили хэш хэшей, и теперь вы хотите, чтобы получить доступ ко всем элементам - что дело? – fugu
@FlyingFrog Я пробовал вышеуказанный путь в соответствии с логикой, но он не работает – deep
'$ value = $ hash {$ key} {$ key2} -> {$ key3};' или '$ hash -> {$ key} -> {$ key2} -> {$ key3} = $ value; '? Может быть, это опечатка? –