http://www.perlmonks.org?node_id=510730


in reply to extracting the largest values

Hi,
you need to make the old largest number the second_largest if there is a new largest one.
I fixed some other minor things as well.
#!/usr/bin/perl -w use strict; my @input = <DATA>; chomp @input; my $largest_value = 0; my $second_value = 0; for (@input){ #$value = substr($input[$i], 0, 6); why? Perl can dwal with floati +ng point numbers if($_ > $largest_value){ $second_value = $largest_value; $largest_value= $_; } elsif(($_ > $second_value) && ($_ < $largest_value)){ $second_value = $_; } } print "$largest_value $second_value\n"; __DATA__ 0.2430 0.0830 0.1320 0.0920 0.0180 0.0880 0.3440
prints
0.3440 0.2430

Regards,
svenXY