in reply to meaning for the hash code
The main part of this piece of code lies in the sub definition, which is, essentially, giving an explicit name to this particular use of sort, sorting the hash it's given by the numeric value of the values inside it.use Tie::Hash::Sorted; my %ages = ( 'John' => 33, 'Jacob' => 29, 'Jingle' => 15, 'Heimer' => 48, 'Smitz' => 12, ); my $sort_by_numeric_value = sub { my $hash = shift; sort {$hash->{$b} <=> $hash->{$a}} keys %$hash ; }; tie my %sorted_ages, 'Tie::Hash::Sorted', 'Hash' => \ %ages, 'Sort_Routine' => $sort_by_numeric_value; for my $name ( keys %sorted_ages ) { print "$name is $sorted_ages{$name} years old.\n"; }
|
|---|