use List::Util qw[ min ]; %h = map{ $_, $h{ $_ } } min keys %h; #### %h = map{ $_, $h{ $_ } } ( sort{ $a <=> $b } keys %h )[ 0 .. 2 ];