c:\@Work\Perl\monks>perl -wMstrict -le "my @ra = qw(13 4 71 2 -598 -100203); ;; my ($i_lwn) = map $_->[0], sort { $a->[1] <=> $b->[1] } map { $ra[$_] >= 0 ? [ $_, $ra[$_] ] : () } 0 .. $#ra ; ;; if (defined $i_lwn) { print qq{\$ra[$i_lwn] == lwn $ra[$i_lwn]}; } else { print 'no lowest whole number in array'; } " $ra[3] == lwn 2