my @fooFeatures = ( { 'Baked Goods' => [ { 'Cookies' => ['Chocolate Chip', 'Oreo'] }, ]}, { 'Fruits' => [ { 'Apples' => ['Fuji', 'Granny Smith'] }, { 'Oranges' => ['Tangerine', 'Navel'] }, ]}, ); for my $fooSet ( @fooFeatures ) { while (my ($key, $value) = each(%$fooSet)) { for my $hash ( @{$value} ) { while (my ($k, $v) = each(%$hash)) { for my $feature ( @{$v} ) { print "($k, $feature)
"; } } } } }