1.1 第三个任务
BOSS交给小张一个文本文件,为去年销售人员季度完成的销售额,要求小张统计出前三名做为金牌销售员人选。
张三 25 9 10 60
李四 17 16 79 25
黄三 5 10 5 2
黄光 10 3 6 9
刘发 6 5 9 12
以上文件文件第一列是姓名,第二列是第一季度销售额,第三列是第二季度销售额,第四列是第三季度销售额,第五列是第四季度销售额,每列用tab分隔。
完成这个任务需要用到内嵌哈希。
内嵌哈希的遍历语法如下:
while (( $键名,$键值)=each %哈希变量名){
#对取出的键名值进行操作,其中键值是内嵌哈希的引用。
#访问内嵌哈希键值的语法为:${$键值}{$内嵌哈希的键名};
}
我们先计算每个人的全年的总销售额并输出:
#perl3-5.pl
use strict;
use warnings;
use 5.010;
my %p;
open PINFO,"
#从perl3-5.txt文件中读成员的姓名及城市信息
foreach my $pinfo(
chomp($pinfo);
my %info;
(my $name, my $jd1,my $jd2,my $jd3,my $jd4)=split('\t',$pinfo);
$info{jd1}= $jd1;
$info{jd2}= $jd2;
$info{jd3}= $jd3;
$info{jd4}= $jd4;
$info{all}= $jd1+$jd2+$jd3+$jd4;
$p{$name}=\%info;
}
close PINFO;
while ((my $key,my $value)=each %p){
say "$key=>${$value}{all}";
}
结果如下:
刘发=>32
张三=>104
李四=>137
黄光=>28
黄三=>22