【发布时间】:2019-04-28 10:45:17
【问题描述】:
我正在尝试创建一个哈希数组,其中包含学生姓名作为键,多个成绩作为每个学生的值,以便我可以计算每个学生的平均值,按降序对平均值进行排序,然后打印每个学生的“姓,名:平均成绩”按排序顺序排列。
我遇到的问题是哈希数组的生成,我 90% 确定问题在于第 10 行的拆分,但我自己似乎找不到解决方案。
students.txt:
chipper jones 29 80 70
hank aaron 99 85 81 75
beth allen 64 84 71 5x9 38 68 53
andruw jones 100 100 100 100 100
ty cobb 75 75 100
代码:
#!/usr/bin/perl
#Program 5
my @Aoh;
open (FILEIN, "$ARGV[0]");
while(<FILEIN>) {
chomp;
push @Aoh, { split / / };
for $i (0 .. $#Aoh) {
print "{ ";
for $role (keys %{ $Aoh[$i] }) {
print " $role $Aoh[$i]{$role} ";
}
print "}\n";
}
}
我得到的输出:
0 is { chipper=jones 70= 29=80 }
1 is { 81=75 hank=aaron 99=85 }
2 is { 38=68 53= beth=allen 64=84 71=5x9 }
3 is { 100= andruw=jones }
4 is { ty=cobb 75=75 100= }
【问题讨论】: