我有一个问题希望有人能提供帮助(为了解释我的问题而进行了简化)。
我有以下数组散列的散列(我认为这就是它的本质?)
数据结构
{
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
零件,但是正确的做法是什么?我尝试了多种我认为不会成功的方法。