2017-04-08 52 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

可以说我不知道​​每个汽车公司有哪些版本。我如何获得版本。我将有一个子,当我给这个哈希分,它会告诉我福特公司有轿车,hatchnack和卡车版本。 – ivbtar

回答

1

我解决了它。

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

这给:

sedan 
hatchback 
truck 

这是我想要的输出。