in reply to Re: Re: sorting an array of hashes by the value of the keys
in thread sorting an array of hashes by the value of the keys

Of course you can sort a hash.

Well, no. You really can't. You can, as your examples show, generate a list of the sorted keys of a hash¹. You can do the same with the values. But the hash itself remains unsorted.

Contrast that with an array, a structure that you can sort:

perl -le '@a = qw(b c a); @a = sort @a; print "@a"'
The equivalent for a hash, something like %h = map { $_, $h{$_} } sort keys %h; does a lot of work for no good reason. (And, %h = sort %h wouldn't even keep the key/value pairs intact.) There is simply no way to sort a hash.

1. People are usually perfectly happy with this solution. My guess is that the monk to which you were responding was either being pedantic or was reciting something by rote that he recently learned.

-sauoq
"My two cents aren't worth a dime.";