LWP ("Library for WWW in Perl" 的缩写) 是用来获取网络数据的的模块组。
如果只是要拿到某个网页,那使用 LWP::Simple 里的函数是最简单的。
通过调用 get($url) 函数,就可以得到相关网址的内容。如果没有发生错误,get 函数返回此网页,否则,返回 undef。例子如下:
perl
my $url = 'http://freshair.npr.org/dayFA.cfm?todayDate=current'
use LWP::Simple;
my $content = get $url;
die "Couldn't get $url" unless defined $content;
# $content 里是网页内容,下面是对此内容作些分析:
if($content =~ m/jazz/i) {
print "They're talking about jazz today on Fresh Air!/n";
} else {
print "Fresh Air is apparently jazzless today./n";
}如果要在命令行里运行,getprint 函数非常方便。如果没有发生错误,它会把网页内容输出到 STDOUT,否则将会有错误信息输出到 STDERR。 例如:
text
% perl -MLWP::Simple -e "getprint 'http://cpan.org/RECENT'"上面的网址指向一个文本文件,列有最近两个星期内 CPAN 更新过的文件。如果想要知道 Acme:: 的模块是否有更新,有就email 自己,你可以把它和 Shell 结合到一起来实现。如下:
perl
% perl -MLWP::Simple -e "getprint 'http://cpan.org/RECENT'" /
| grep "/by-module/Acme" | mail -s "New Acme modules! Joy!" $USER
评论
0评论加载中…