my $cnt = 1; while ( my ($name, $ITEM) = each %hash ){ print "[ $cnt ] --- $name \n"; # print Dumper $ITEM; my $in_cnt = 1; while ( my ($item, $value) = each %{$ITEM}) { print "[ $cnt ] --- [ $in_cnt ] --- $item => $value \n"; # print Dumper $item; $in_cnt++; } $cnt++; }