誰かが助けてくれることを望んでいる質問があります(私の質問を説明するために簡略化されています)。
配列のハッシュの次のハッシュがあります(とにかくそれが何であるかと思いますか?)
データ構造
{
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
パーツを指定する必要があることはわかっていますが、それを行う正しい方法は何ですか? 私は成功せずにうまくいくと思った複数の方法を試しました。