zjzc01:/root/big# cat grades
A 70
B 80
C 90
D 50
E 60
F 80
zjzc01:/root/big# cat a6.pl
open(GRADES, "grades") or die "Can't open grades: $!
";
while ($line = <GRADES>) {
($student, $grade) = split(" ", $line);
$grades{$student} .= $grade." " ;
};
print "\%grades is :
";
print %grades;
print "
";
print "$grades{A} is $grades{A}
";
foreach $student (sort keys %grades){
$scores = 0;
$total = 0;
push (@grade,$grades{$student});
};
print "@grade is @grade
";
foreach $grade (@grade){
$total +=$grade;
$scores++};
print "$total is $total
";
print "$scores is $scores
";
$average = $total / $scores;
foreach $student (sort keys %grades){
print "$student:$grades{$student} Average :$average
";
}
zjzc01:/root/big# perl a6.pl
%grades is :
F80 A70 D50 C90 E60 B80
$grades{A} is 70
@grade is 70 80 90 50 60 80
$total is 430
$scores is 6
A:70 Average :71.6666666666667
B:80 Average :71.6666666666667
C:90 Average :71.6666666666667
D:50 Average :71.6666666666667
E:60 Average :71.6666666666667
F:80 Average :71.6666666666667