0

この警告が表示されます (「use diagnostics;」の後);

/usr/lib/perl5/HTML/PullParser.pm 81 行目でエンティティをデコードするときに、デコードされていない UTF-8 を解析するとガベージが生成されます。

私のプログラムは次のようなものです:

...
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::GZip->new() の代わりに WWW::Mechanize->new() を使用すると、静かに動作することを知っているだけです...だから、問題は GZip モジュールから来ています...?

4

1 に答える 1

4

まず第一に、あなたが尋ねている質問は本当に間違ったものです。あなたはそれらの警告を抑制したくはありません、あなたはそれらを防ぎたいのです

これは、WWW :: Mechanize::Gzipにバグがあるように聞こえます。とにかく実際には必要ありません。LWPにはgzipサポートが組み込まれています。より適切な方法で同様の結果を達成する方法の説明については、このスレッド(WWW::MechanizeはLWP::UserAgentのサブクラスです)を参照してください。

于 2011-07-29T14:18:35.803 に答える