2017-04-08 3 views
1

私は以下のようなハッシュを持っています。perlのハッシュキーの繰り返し

(
    'cars' => { 
     'citroen' => { 
      'sedan' => { 'color' => 'red' }, 
      'hatchback => { 'color' => 'white' }, 
      'truck' => { 'color' => 'black' }, 
     }, 
     'ford' => { 
      'sedan' => { 'color' => 'red' }, 
      'hatchback => { 'color' => 'white' }, 
      'truck' => { 'color' => 'black' }, 
     }, 
    }, 
) 

車のバージョンはセダン、ハッチバック、トラックです。これらのバージョンを入手して繰り返したいと思います。セダンを行う場合はハッチバックが行う場合は、トラックが行う場合は.... ...... ....

は、私が試した:

foreach my $key (keys %{ $myhash->{'cars'}->{$carCompany} }) { 
    print "\nCarVersion:" . $key; 
} 

しかし、私はこれらのバージョンを取得できませんでした。

+0

私は理解しているかわかりません。あなたはセダンバージョンを持っているすべての車会社、そしてハッチバックバージョンを持っているすべての会社などを探したいですか? –

+0

私は各自動車会社のバージョンを知らないと言うことができます。どうすればバージョンを手に入れることができますか?私はサブを持っていて、このハッシュをサブに渡すと、セダン、ハッチナック、トラックのバージョンがあります。 – ivbtar

答えて

1

私はそれを解決しました。

foreach my $key (keys %{$myhash->{'cars'}->{'ford'}}) { print $key."\n"; } 

これは与える:

sedan 
hatchback 
truck 

これは私が望んでいた出力しました。