我收到此警告(在“使用诊断程序”之后);
解析未解码的UTF-8会在/usr/lib/perl5/HTML/PullParser.pm第81行解码实体时产生垃圾。
我的程序是这样的:
...
use diagnostics;
use WWW::Mechanize;
use WWW::Mechanize::Gzip;
...
$m = WWW::Mechanize::GZip->new(
agent => $self->{_agent},
timeout => $self->{_timeout},
);
if (!$m->get($url)) {
die("Impossibile scaricare l'url [$url]");
}
if (!$m->form_number(1)) {
die("Impossibile trovare il form 1");
}
<WARNING IS EMITTED HERE>
...
如何摆脱它?或者我可以放心地忽略它吗?
更新 我只是觉得使用WWW :: Mechanize-&gt; new()insted WWW :: Mechanize :: GZip-&gt; new()确实可以无声地工作......所以问题来自GZip模块......?
答案 0 :(得分:4)
首先,你问的问题确实是错误的。 你不想压制这些警告,你想阻止它们。
这听起来像WWW :: Mechanize :: Gzip是错误的。无论如何你都不需要它,LWP内置了gzip支持。请参阅this thread(WWW :: Mechanize是LWP :: UserAgent的子类),了解如何以更加理智的方式获得类似的结果