use strict; use warnings; my %test = ('a' => {'b' => 'b'}); while ( my ( $name, $value ) = each %test ) { print $name; while ( my ( $name2, $value2 ) = each %{ $value } ) { print $name2; } }