my @keys; keys(%hash); # Reset iterator #while (my $k = each(%hash)) { # if 0 or '' are possible keys while (my $k = each(%hash)) { push @keys, $k; } @keys = sort @keys; for (0..$#keys) { $hash{$keys[$_]} = $_; }