迭代哈希

时间:2014-04-17 06:46:51

标签: perl hash

我刚刚来到这里并开始学习perl,我试图像这样访问哈希的子键

my %hash = ( 'key' => {
    'subkey1' => 'value1',
    'subkey2' => 'value2',
});

我试图以这种方式做到这一点......

  for my $key(%hash){
      for my $sub_key(%key){
           print $hash{$key}{$sub_key}

2 个答案:

答案 0 :(得分:1)

  for my $key(keys %hash){
        for my $sub_key(keys %{$hash{$key}}){
             print $hash{$key}{$sub_key}
         }
  }

你得到的输出如value1value2...valueX

答案 1 :(得分:0)

使用whileeach

也可以很好地解决这个问题
while (my ($key, $hashref) = each %hash) {
    while (my ($subkey, $val) = each %$hashref) {
        print "$key -> $subkey -> $val\n";
    }
}