这道练习题是小骆驼中hash中的一道,感觉很有代表性。
读取一些单词,每行一个直到文件结束,然后出每个单词出现的次数。
有两种方法可以完成它,如下
第一种方法
#!/usr/bin/perl -w
print "Enter words:"
chomp(@k=<>);
foreach $k (@k) {
$count{$k} +=1 ; #计算单词的次数
}
foreach $k (sort keys%count){ #取出散列中的单词次数
print "$k:$count{$k}\n";
}
print "Enter words:"
chomp(@k=<>);
foreach $k (@k) {
$count{$k} +=1 ; #计算单词的次数
}
foreach $k (sort keys%count){ #取出散列中的单词次数
print "$k:$count{$k}\n";
}
第二种方法
#!/usr/bin/perl
while(<>){
chomp;
$count{$_}++;
}
for (sort keys%count){
print "$_:$count{$_}\n";
}
while(<>){
chomp;
$count{$_}++;
}
for (sort keys%count){
print "$_:$count{$_}\n";
}
本文转自 mcshell 51CTO博客,原文链接:http://blog.51cto.com/mcshell/479231,如需转载请自行联系原作者