#!/usr/bin/perl -w use strict; my %grades; while () { chomp; my($student,$grade) = split (" ",$_); $grades{$student} .= $grade . " "; #$grades{$student} = $grade; print "\$grades{$student} is $grades{$student}\n"; } for (sort keys %grades) { my $scores = 0; my $total = 0; my @grades = split(" ", $grades{$_}); for (@grades) { $total += $_; $scores++; } my $average = $total / $scores; print "$_: $grades{$_}\tAverage: $average\n"; } __END__ lee 90 lee 100 kim 90 kim 90 ./././perl.score $grades{lee} is 90 $grades{lee} is 90 100 $grades{kim} is 90 $grades{kim} is 90 90 kim: 90 90 Average: 90 lee: 90 100 Average: 95 so $grades{$student} .= $grade . " "; is more like $grades