Debian UTF-8 LWP::Protocol
DebianへのPerlモジュールインストールは下記のことをごにょごにょやっていたらなんとかなりました。ので、どれで解決できたのか不明。
・CPANでinstallコマンドを叩きまくる
・# apt-get install dh-make-perl
・# apt-get install libhtml-parser-perl
・$ dh-make-perl --build --cpan LWP::Protocol
・$ dh-make-perl --build --cpan HTML::Parser
・CPANによってダウンロードされたファイル(LWP系)で直接make installを叩く
が、今度は、
Parsing of undecoded UTF-8 will give garbage when decoding entities at /usr/share/perl5/LWP/Protocol.pm L.114なるエラーが。
指定された行を見てみると、
$parser->parse($$content) or undef($parser);どうやらHTML::Parserでエラーが発生しているっぽい。
というわけで、UFT-8を使っているんだよ、と強制的に指定してみる。
$parser->utf8_mode(1);と、エラーはでなくなったので成功したっぽいが、これでは対象のWebページがUTF-8以外だと失敗することが予想されるので、本ツール専用のLWP::Protocolを作り、BEGIN{ unshift @INC './'; }を用いて上書きしてみる。
$parser->parse($$content) or undef($parser);
としようとしたのだが、WindowsからコピーしたLWP::Protocolの方は弄らずともエラーがでなかったので、unshiftで成功したようだ。
一応バージョンを確認してみたが、双方等しかったので、周辺のモジュールが異なる模様。
# $Id: Protocol.pm,v 1.43 2004/11/12 13:34:10 gisle Exp $