>perl -wMstrict -le "my %streets = ( Oak => { Oakdale => 23 }, Pine => { Pinehill => 45 }, Main => { Oakdale => 67, Pinehill => 89, }, ); ;; for my $street (keys %streets) { for my $city (keys %{ $streets{$street} }) { printf qq{%s street in %s city has %d houses \n}, $street, $city, $streets{$street}{$city}; } } " Oak street in Oakdale city has 23 houses Pine street in Pinehill city has 45 houses Main street in Pinehill city has 89 houses Main street in Oakdale city has 67 houses