my @hist; sub print_hash { my($href) = @_; foreach my $key (keys %$href) { if (ref($$href{$key}) eq 'HASH') { my $href2 = $$href{$key}; push @hist, $key; print_hash($href2); pop @hist; } else { foreach my $h(@hist) { print $h."/"; } print "$key => $$href{$key}\n"; } } }