所以,我有一个哈希 %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]};
我收到一条错误消息,例如:Can't use string ("string 3") as an ARRAY ref while "strict refs" in use
为什么我会收到该错误消息,我应该怎么做?