use strict; my $hash={}; $hash->{countries}->{USA}->{animals}->{fox}=1560; $hash->{countries}->{Italy}={}; while ( my ($country, $country_ref) = each %{$hash->{countries}} ) { print "$country\n"; print $country_ref->{animals}->{fox}."\n" if exists $country_ref->{animals}->{fox}; }; #### $hash->{countries}->{USA}->{animals}->{fox}=1560;