我正在用Perl编写一个脚本,但我只是一个初学者。该程序下载html页面并尝试查找由标签限定的短语。我在下面附上了一个代码,当我检查它时,没有错误但它没有做任何事情(没有打印输出)。所以,任何人都可以给我一些建议吗?
open ':std', ':encoding(UTF-8)';
my $s = get("xxx.html");
foreach my $line (split(/\n/,$s)) {
if (m,<>(.*?)<>,g) {
if(eof()) {
close(FILE); }
print "$1\n";
last if eof();
}
}
答案 0 :(得分:3)
我确实发现了很多问题。
if (//g)
毫无意义,可能导致实际(微妙)问题。删除g
。eof()
的情况下检查<>
(两次!)。啊?FILE
,但您从未打开任何此类文件句柄。FILE
。get
是否返回了除undef以外的其他内容。顺便说一句,请始终使用use strict; use warnings;
。不确定你是否做过。
答案 1 :(得分:0)
您可以使用here上提供的XML模块(XML :: Parser) 它抓取标签之间的文本。