无法使用此代码正确填充HoH: 当我使用下面的方式运行循环时:
while (my $form = $form_rs->next ()){
my $menu=$form->get_column("fmenu");
my $script=$form->get_column("fscript");
my $name=$form->get_column("ftitle");
$itemList->{$menu} = {
$script => $name
};
}
print Dumper $itemList;
它运行正常,但由于$ menu重复,它只保留HoH中的最后一个值。所以我在Data Dumper中得到了错误的输出。我的每个菜单只有1条记录,而应该有很多。
得到:
itemList=>{
menu1=>{
script1=>formName1
},
menu2=>{
script3=>formName3
}
...(and so on)
}
而EXPECTED:
itemList=>{
menu1=>{
script1=>formName1,
script2=>formName2
},
menu2=>{
script3=>formName3,
...(and so on)
}
...(and so on)
}
帮助。 谢谢。
答案 0 :(得分:3)
然后您要更新$itemList->{$menu}{$script}
,而不是将对单元素哈希的引用分配给$itemList->{$menu}
。
$itemList->{$menu}{$script} = $name;