my $h = {'a'=>1, 'b'=>2, 'c'=>3, 'd'=>4,}; while( my ($k1, $v1) = each(%$h)) { say "external $k1 => $v1"; while( my ($k2, $v2) = each(%$h)) { say "internal $k2 => $v2"; } }