traverse(\%my_hash); sub traverse { my $hash_ref = shift; while ( my( $key, $value ) = each %{ $hash_ref } ) { if( ref $value ) { traverse( $value ); } else { print "$key => $value\n"; } } }