Я попытаюсь проиллюстрировать это на примере. Возьмем общий пример хэша хэшей:
my %HoH = (
flintstones => {
lead => "fred",
pal => "barney",
},
jetsons => {
lead => "george",
wife => "jane",
"his boy" => "elroy",
},
simpsons => {
lead => "homer",
wife => "marge",
kid => "bart",
},
);
Для моих целей я хотел бы иметь возможность добавлять безымянные или анонимные хэши в %HOH. Мне не нужно (и я не смогу) определять эти подхэши до времени выполнения. Как я могу сделать это с помощью Perl?
Все, что я читал (и я уже читал Perldocs и Google), кажется, показывает примеры, где определены все суб-хахи (например, «флинтстоуны», «джетсоны» и «симпсоны»).
Что я делаю, так это пытаюсь создать родительский хеш, который будет содержать вложенные хэши со строками из файла CSV:
%TopHash = (
%Line1 => {
cell01 => $some_value1a;
cell02 => $some_value2a;
cell03 => $some_value3a;
},
%Line2 => {
cell01 => $some_value1b;
cell02 => $some_value2b;
cell03 => $some_value3b;
},
%Line3 => {
cell01 => $some_value1c;
cell02 => $some_value2c;
cell03 => $some_value3c;
},
# etc
# etc
# etc
);
Количество хэшей "%LineX", которое мне нужно, неизвестно до момента выполнения (поскольку они представляют собой количество строк в CSV, которое считывается во время выполнения).
Любые идеи? Если это еще не ясно... Я все еще пытаюсь понять хэши Perl.