employee文件中记录了工号和姓名
100 Jason Smith
200 John Doe
300 Sanjay Gupta
400 Ashok Sharma
bonus文件中记录工号和工资
100 $5,000
200 $500
300 $3,000
400 $1,250
要求把两个文件合并并输出如下
处理结果:
400 ashok sharma $1,250
100 jason smith $5,000
200 john doe $500
300 sanjay gupta $3,000
代码如下:
#!/usr/bin/perl -w use warnings; use strict; open file1,"employee" or dIE "$!\n"; open file2,"bonus" or dIE "$!\n"; my (%name,%mon); while (<file1>){ my($num,$name1,$name2)=split; $name{$num}="$name1"."$name2"; } while (<file2>){ my($num,$mon)=split; $mon{$num}=$mon; } foreach my $num(sort keys %name){ my $name = $name{$num}; my $mon = $mon{$num} if exists $mon{$num}; print "$num $name $mon\n"; }总结
以上是内存溢出为你收集整理的小perl的文本处理全部内容,希望文章能够帮你解决小perl的文本处理所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)