Bhargav Gor,bhai,这是为一个键存储多个值的常用方法。
但,
请记住,这是一个匿名哈希,即键值对: {39,34,11,12} = ("39"=>34, "11"=>12)
这是一个匿名数组: [ 39,34,11,12 ]
您使用了 1. 这意味着您正在使用另一个哈希作为 %ages 哈希的值,即
%ages =
" Michael Caine" => ("39"=>34,"11"=>12),
" Dirty Den" => ("34"=>56,"76"=>58),
" Angie" => ("27"=>56,"78"=>89)
如果要提取键“Michael Caine”的键“39”的值
print %{$ages{" Michael Caine"}}->{"39"} #prints 34
如果你真的想要这样的结构,那么这就是你可以显示所有值的方式
foreach(keys %ages) {
$name = $_;
foreach(keys %{$ages{$name}}) {
print %{$ages{$name}}->{$_},",";
}
print "\n";
}
#output:
#>34,12,
#>56,58,
#>56,89,
我不认为你想要这种结构,你可能想使用一个数组,(一个匿名数组)。
%ages = (
" Michael Caine" => [39,34,11,12],
" Dirty Den" => [34,56,76,58],
" Angie" => [27,56,78,89]
);
现在您可以轻松地显示如下输出:
foreach(keys %ages) {
$name = $_;
foreach( @{$ages{$name}} ) {
print $_,",";
}
print "\n";
}
#output:
#>39,34,11,12,
#>34,56,76,58,
#>27,56,78,89,
对不起,我必须着急,对不起错别字,希望你明白你应该怎么做这样的存储