use warnings; use strict; my %HoA = ( A => [2.34, 4.12, 5.32], B => [1.42, 8.15], C => [8.42, 0.23, 0.45, 6.43], ); foreach my $key (keys %HoA) { print $key, "\t", average($HoA{$key}), "\n"; } sub average { my $array_ref = shift; my $sum; foreach (@$array_ref) { $sum += $_; } my $av = $sum / @$array_ref; return $av; }