我有数据结构(如下所示),请您告诉我如何填充以及随时以最简单的形式访问元素。这是最好的实现方式,比如Hash of Hashes或Array of Arrays或其他什么?数组中没有太多元素,唯一的问题是它是一个多级数组
%Array = (
'Item0' => {
'Name' => 'Item0_Name',
'Attribs' => {
'Attr1' => {
'Name' => 'Attr1_Name',
'Num' => 'Attr1_Num'
},
'Attr2' => {
'Name' => 'Attr2_Name',
'Num' => 'Attr2_Num'
}
}
},
'Item1' => {
'Name' => 'Item1_Name',
'Attribs' => {
'Attr1' => {
'Name' => 'Attr1_Name',
'Num' => 'Attr1_Num'
},
'Attr2' => {
'Name' => 'Attr2_Name',
'Num' => 'Attr2_Num'
}
}
}
);
答案 0 :(得分:2)
官方资源是Perl数据结构手册(perldoc perldsc
)。
对于显示的数据,似乎一个hashrefs数组就足够了,因为OP中显示的键只是一个字符串化的索引。同样的评论适用于'Attribs':
my @array = (
{
'Name' => 'Item0_Name',
'Attribs' => [
{
'Name' => 'Attr1_Name',
'Num' => 'Attr1_Num'
},
{
'Name' => 'Attr2_Name',
'Num' => 'Attr2_Num'
}
],
},
{
'Name' => 'Item1_Name',
'Attribs' => [
{
'Name' => 'Attr1_Name',
'Num' => 'Attr1_Num'
},
{
'Name' => 'Attr2_Name',
'Num' => 'Attr2_Num'
}
],
},
);