Perl 数组、哈希与循环的深入解析
1. 网页单词频率统计
我们常常好奇,谷歌是如何根据搜索词迅速精准地为我们找到相关网页的?其实,这很大程度上依赖于对网页中单词相对频率的预先分析。许多互联网搜索引擎使用 Perl 来完成这项统计工作,因为 Perl 的哈希功能让单词计数变得轻而易举。
下面是一个示例脚本 count_words
的运行情况,它能将输入的每一行拆分成单词,并显示每个单词在页面所有单词中出现的频率:
$ echo 'Testing, testing ... is this thing on?' | count_words
WORD FREQUENCY
is 0.166667
on 0.166667
testing 0.333333
thing 0.166667
this 0.166667
我们再试试用这个脚本处理网页文本,使用 lwp-request
来获取网页内容,并对输出进行排序,让出现频率最高的单词排在前面:
$ lwp-request -o text ukuleleworld.com | # output edited
> count_words |
>