#! perl -slw use strict; use List::Util qw[ max ]; my %some_hash = ( sunny => .63, cloudy => .17, rainy => .2 ); my $max = max values %some_hash; print +{ reverse %some_hash }->{ $max }, ' :: ', $max; __END__ C:\test>539366 sunny :: 0.63