my %procid; my %procidcount; open (FILE, "file"); while () { my ($id, $keystroke, $seconds) = split / /; $procid{"$id"} += $seconds; ($procidcount{"$id"})++ } foreach my $ids (sort keys %procid) { printf "Average for $ids is %f...\n", $procid{"$ids"} / $procidcount{"$ids"}; }