use strict; use warnings; my %data; while () { chomp; my ($id, $value) = split /,/; $data{$id}{sum} += $value; $data{$id}{count}++; } for my $id (sort keys %data) { my $avg = $data{$id}{sum}/$data{$id}{count}; print "$id: sum=$data{$id}{sum} avg=$avg\n"; } __DATA__ A,10 A,11 A,12 A,13 B,15 B,16 C,17 D,18