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);
$parser->parse($$content) or undef($parser);
 と、エラーはでなくなったので成功したっぽいが、これでは対象のWebページがUTF-8以外だと失敗することが予想されるので、本ツール専用のLWP::Protocolを作り、BEGIN{ unshift @INC './'; }を用いて上書きしてみる。

 としようとしたのだが、WindowsからコピーしたLWP::Protocolの方は弄らずともエラーがでなかったので、unshiftで成功したようだ。
 一応バージョンを確認してみたが、双方等しかったので、周辺のモジュールが異なる模様。

# $Id: Protocol.pm,v 1.43 2004/11/12 13:34:10 gisle Exp $