我试图打印散列的匿名散列的匿名散列,但没有得到期望的输出如何打印散列
$hash = {
name => {
nitesh => mine,
ankush => yours
},
Company => {
XYZ => mine,
other => sector_32
}
};
foreach $key (sort keys %$hash) {
print "\n key is $key";
foreach $key2 (sort keys %{$hash=>{$key}}) {
print "\n key2 is $key2";
}
}
获取输出
key is Company
key2 is Company
key is name
key2 is name
'使用严格的;使用警告;'始终将其放在代码的顶部 – Gabs00 2014-09-06 09:09:52
您应始终使用缩进来使代码更易于阅读并避免简单的语法错误。我这次为你修好了。看看它更容易阅读? – TLP 2014-09-06 10:33:44
另外,请注意,用逗号运算符'=>',左手参数将自动被引用,如果尚未引用。即'foo => 1'将变成'“foo”=> 1'。但右手参数不会被引用,它将成为所谓的“裸号”,除非其名称与保留字冲突,否则*可视为字符串。所以你需要引用那个部分,如果它是一个字符串:'foo =>“bar”'。 – TLP 2014-09-06 10:39:22