Averages/Arithmetic mean: Difference between revisions

Content added Content deleted
No edit summary
(→‎{{header|Perl}}: General cleanup.)
Line 266: Line 266:


=={{header|Perl}}==
=={{header|Perl}}==
sub avg(@_) {
<perl>sub avg {
$count = 0;
@_ or return 0;
$sum = 0;
my $sum = 0;
foreach (@_) {
$sum += $_ foreach @_;
$sum += $_;
return $sum/@_;
}
$count++;
}
return $count > 0 ? $sum / $count : 0;
}
print avg(qw(3 1 4 1 5 9))."\n";
print avg(qw(3 1 4 1 5 9)), "\n";</perl>

Output:
3.83333333333333

{{libheader|Data::Average}}
{{libheader|Data::Average}}
With module Data::Average.
With module Data::Average.
(For zero-length array returns ().)
(For zero-length arrays, returns the empty list.)
use Data::Average;
<perl>use Data::Average;
my $d = Data::Average->new;
$d->add($_) foreach (qw(3 1 4 1 5 9));
print $d->avg."\n"


my $d = Data::Average->new;
Output:
$d->add($_) foreach qw(3 1 4 1 5 9);
3.83333333333333
print $d->avg, "\n"</perl>


=={{header|Pop11}}==
=={{header|Pop11}}==