$\ = "\n"; foreach (eval "keys \%{ \$new_hash->$key }" ){ print } #### my @path = qw(key1 key2 key3); my $reference = $new_hash; $reference = $reference->{$_} foreach @path; $\ = "\n"; foreach (keys %$reference){ print; }