http://qs321.pair.com?node_id=217823


in reply to Re: Re: finding highest number
in thread finding highest number

    how could you adapt it to calculate second and third highest numbers?

something like:
use strict; my @array = (1, 5, 4, 10, 20, 2, 1, 3, 7); my @hi = (0) x 3; # '0' assumes positive #'s foreach (@array) { $_ <= $hi[0] and next; @hi = (sort $a<=>$b, @hi, $_)[-3..-1]; } print "@hi";
(untested)   (and, as said, of course the sort method would be better, at least for small arrays, and would be even more better for finding the top three values:  (sort ..., @array)[-3..-1] )

  p