我有这个HoH
#!/usr/bin/perl
use warnings;
use strict;
my $a = {
'0' => {
'i' => -1,
'u' => -1,
},
};
但我想要的是
my $a = {
'0' => {
'i' => -1,
'u' => -1,
(
{
'i' => -1,
't' => -1,
},
),
},
};
会出错。
是否有可能在HoH中有AoH?
答案 0 :(得分:8)
这可能会让你大喊“在$ filename line $ line的匿名哈希中奇数个元素”,对吧?那是因为你不能真正将数组填充到哈希中 - 数组引用需要键入,就像任何其他哈希元素一样。此外,您需要使用[]而不是()来创建数组ref:
my $a = {
0 => {
i => -1,
u => -1,
x => [{i => -1, t => -1}],
},
};
不会产生任何错误。然后您可以像这样访问它:$ a-> {0} {x} [0] {i};
答案 1 :(得分:2)
你的阵列前应该有一把钥匙:
my $a = {
'0' => {
'i' => -1,
'u' => -1,
'a' => [
# here ^ is the key
{
'i' => -1,
't' => -1,
},
],
},
};