# iterate by sorted list of hash keys foreach my $key (sort keys %hash) { ... } # iterate by sorted list of hash values foreach my $key (sort { $hash{$b} <=> $hash{$a} } keys %hash) { ... } #### # iterate by reverse sorted list of hash keys foreach my $key (reverse sort keys %hash) { ... } # iterate by reverse sorted list of hash values foreach my $key (reverse sort { $hash{$b} <=> $hash{$a} } keys %hash) { ... }