my $sum = 0; $sum += $_ for @total; my $average = $sum / @total; #### my $average = 0; $average = ($_ * $average + $total[$_]) / ($_ + 1) for 0 .. @total -1; #### perl -lane '$a = (($. -1) * $a + $F[2])/$.; END{print $a}' file #### perl -lpe '$,+=$_}{$_=$,/$.' file