Итак, у меня есть хеш% HoHoA.
Каждый хэш-ключ верхнего уровня имеет хэш-ключ второго уровня в качестве значения.
Каждый хэш второго уровня имеет массивы массивов в качестве значений.
В отладчике Perl это выглядит примерно так:
0 'Top_key_1'
1 HASH(0x...)
'Second_Key_1' => ARRAY(0x...)
0 'string 1'
1 'string 2'
'Second_Key_2' => ARRAY(0x...)
0 ARRAY(0x...)
0 'string 3'
1 'string 4'
2 'string 5'
1 ARRAY(0x...)
0 'string 6'
1 'string 7'
2 'Top_key_2'
Я пытаюсь получить размер двух массивов каждого набора. В выше
Например, Second_Key_2 имеет два массива, 0-й - размер 3.
my $count1 = $#{$HoHoA{$top_key}{$second_key}[0]}+1;
my $count2 = $#{$HoHoA{$top_key}{$second_key}[1]}+1;
и
my $count1 = @{$HoHoA{$group}{$suite}[0]};
my $count2 = @{$HoHoA{$group}{$suite}[1]};
Я получаю сообщение об ошибке, подобное:
Невозможно использовать строку («строка 3») в качестве ссылки на ARRAY, когда используются «строгие ссылки»
Почему я получаю это сообщение об ошибке и что мне делать вместо этого?