sub DigThroughHashref { my $hr_data = shift; my @keystack = @_; foreach (keys %{$hr_data}) { if (ref ($hr_data->{$_}) eq "HASH") { print ("Digging through [$_]:\n"); push (@keystack, $_); DigThroughHashref($hr_data->{$_}, @keystack); pop (@keystack); } else { print (join ('->', @keystack) . "->$_ - $hr_data->{$_}\n"); } } ## end foreach (keys %{$hr_data}) } ## end sub DigThroughHashref #### foreach (keys %{$hashref}) { }