%HoA = ( A => [2.34, 4.12, 5.32], B => [1.42, 8.15], C => [8.42, 0.23, 0.45, 6.43], ###...and so on ); #### A 3.93 B 4.79 ...etc. #### 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; }