Help for this page
my %vals_by_type; while (<DATA>) { ... my ($type, $val) = split ' '; push @{ $vals_by_type{$type} }, $val; }
use List::Util qw( sum ); ... my $avg = sum( map $_/@$vals, @$vals ); printf("%s %.2f\n", $type, $avg); }