たとえば、LWP::UserAgent で取得した RSS (= XML ファイル) の文字コードの自動判定 (エンコーディングの自動判定) を行うには、以下のようにする。
#!/usr/bin/perl
use Encode::Guess;
use LWP::UserAgent;
use HTTP::Request;
my $url = 'https://perltips.twinkle.cc/index.rdf';
my $proxy = new LWP::UserAgent;
my $req = new HTTP::Request(GET=>$url);
my $res = $proxy->request($req);
my $xml = $res->content;
my $enc = guess_encoding($xml, qw/euc-jp shiftjis 7bit-jis utf8/);
ref($enc) or die "Can't guess: $enc"; # 自動判定に失敗したときのエラー処理
$xml = decode($enc->name, $xml); # utf8 で保存
...
トラックバック URL:
https://perltips.twinkle.cc/trackback/31