我有一个问题希望有人能提供帮助(为了解释我的问题而进行了简化)。
我有以下数组散列的散列(我认为这就是它的本质?)
数据结构
{
  Cat => {
    Height => ["Tiny"],
  },
  Dog => {
    Colour => ["Black"],
    Height => ["Tall"],
    Weight => ["Fat", "Huge"],
  },
  Elephant => {
    Colour => ["Grey"],
    Height => ["Really Big"],
    Weight => ["Fat", "Medium", "Thin"],
  },
}
我想要做什么
下面的程序将打印整个数据结构。我想用这种方式来做
my %h;
for my $animal (keys %h) {
   print "$animal\n";
   for my $attribute ( keys %{$h{$animal}} ) {
        print "\t $attribute\n";
        for my $i (0 .. $#{$h{$animal}{$attribute}} ) {
            print "\t\t$h{$animal}{$attribute}[$i]\n";
        }    
   }   
}          
我遇到的问题
我正在尝试访问数据结构的特定部分。例如,我只想打印出Height每个动物的数组,因为我不关心本示例中的其他Colour属性Weight。
我确信对此有一个简单的答案,并且我知道我需要指定Height零件,但是正确的做法是什么?我尝试了多种我认为不会成功的方法。