my $average; foreach my $key (keys %HoA) { foreach my $value (values %HoA) { my @Array = $value; $average = average (\@Array); } print $key, "\t", $average, "\n", } sub average { my ($array_ref) = @_; my $sum; my $count = scalar @$array_ref; foreach (@$array_ref) { $sum += $_; } my $av = $sum/$count; return $av; }