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

這是我想要的輸出。