Is there a better way than the following, for finding and printing the max key-value pair in a hash? I searched the site a bit and found several posts about the max value, but did not noticing anything which included printing the key:
#!/usr/bin/perl -w
use strict;
use warnings;
my %some_hash = (
sunny => .63,
cloudy => .17,
rainy => .2
);
my ($max) = sort {$some_hash{$b}<=>$some_hash{$a}} keys %some_hash;
print $max." :: ".$some_hash{$max}."\n";
outputs: sunny :: 0.63
I know it's debatable whether or not the 'sort' routine is optimal (or rather, it's not debatable, but depends on the size of the hash) but given that the hash is fairly small (around 60 key-value pairs) how does this size up as a solution?