my @ordered_result_list = sort keys %results; #### print sort 1..10; # 1 10 2 3 4 5 6 7 8 9 #### print sort { $a cmp $b } 1..10; # 1 10 2 3 4 5 6 7 8 9 #### print sort { $a <=> $b } 1..10; # 1 2 3 4 5 6 7 8 9 10 #### use List::Util qw( max ); print max 1..10; # 10 #### my %results = map { $_ => 1 if ( $low_watermark < $_ && $_ < $high_watermark ) } @all_numbers; #### $ perl -wle'my %h = map { $_ => 1 if $_ > 5; } 1..3; print 0+keys(%h);' Odd number of elements in hash assignment at -e line 1. 1 #### my %results = map { if ( $low_watermark < $_ && $_ < $high_watermark ) { $_ => 1 } else { () } } @all_numbers; #### my %results = map { ( $low_watermark < $_ && $_ < $high_watermark ) ? $_ => 1 : () } @all_numbers; #### my @results = grep { $low_watermark < $_ && $_ < $high_watermark } @all_numbers; print max(@results), "\n";