У меня есть то, что выглядит как хэш массива хэшей. Я пытаюсь извлечь некоторые значения, и я в замешательстве (это намного глубже, чем я бы пошел со структурой. Похоже, что это .....
%htest = (
8569 => {
4587 => [
{
date=> "2011-01-15",
approved=> 1,
},
{
date=> "2011-01-12",
approved=> 1,
},
],
1254 => [
{
date=> "2011-01-12",
approved=> "",
},
{
date=> "",
approved=> 1,
},
],
},
);
Попытка повторить эту вещь вызывает у меня сильную головную боль. Я пытаюсь получить доступ к количеству элементов под вторым хэш-значением (4587 и 1254). Число тех элементов, где утверждено = "1", и количество элементов, в которых дата содержит значение.
Если бы я мог перебирать их, я уверен, что мог бы засунуть то, что мне нужно, в менее сложную структуру, но пока я в растерянности.
Я так далеко ...
while (my ($id, $surveyhash) = each %{ $htest{'8569'} } ){
print "$enumid = $subhash\n";
print Dumper $subhash."\n";
}
Это дает мне "4587" и "1254", но попытка создать дампер на $ subhash просто дает мне ....
4587 = ARRAY(0x9a9ffb0)
$VAR1 = 'ARRAY(0x9a9ffb0)
';
1254 = ARRAY(0x9a91788)
$VAR1 = 'ARRAY(0x9a91788)
';
Есть идеи, как перебрать это чудовище?
Джени