my %hash_of_hash_of_arrays = ( 'key' => { 'innerkey2' => [ 'here' ], 'innerkey3' => [ 'there' ], 'innerkey1' => [ 'hello', 'world' ] } ); #### foreach my $outerkey (keys %hash_of_hash_of_arrays) { print "'$outerkey'"; foreach my $innerkey (keys %hash_of_hash_of_arrays{$outerkey}) { print "\t'$hash_of_hash_of_arrays{$outerkey}{$innerkey}'"; foreach my $array_item (@{ $hash_of_hash_of_arrays{$outerkey}{$innerkey} }) { print "array item: $array_item"; } } }