つまり、ハッシュ %HoHoA があります。各最上位ハッシュ キーには、値として第 2 レベルのハッシュ キーがあります。各第 2 レベルのハッシュには、配列の配列が値として含まれています。
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'
各スイートの 2 つの配列のサイズを取得しようとしています。上記の例では、Second_Key_2 に 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]};
次のようなエラー メッセージが表示されます: Can't use string ("string 3") as an ARRAY ref while "strict refs" in use
このエラー メッセージが表示されるのはなぜですか? また、代わりに何をすべきですか?