use bigint; $n = 0; %parts = (); open(FIL,"prob99data.txt"); foreach $l () { $l =~ s/(\n|\r)//g; $n++; $parts{$n} = $l; } close(FIL); @ordered = sort sortAlg keys %parts; print "Largest is line #" . $ordered[$#ordered]. "\n"; sub sortAlg { @v1 = split(",",$parts{$a}); @v2 = split(",",$parts{$b}); $s1 = $v1[1] * log($v1[0]); $s2 = $v2[1] * log($v2[0]); return $s1 <=> $s2; }