tumblrポスト用スクリプトに手を入れる

HTTP::Response::Encodingがcharsetを引っ張ってこれないページ*1があったので、そこだけちょっと手を入れてみたり。

my $pagetitle = HTML::TreeBuilder::XPath->new->parse(decode $res->charset, $res->content)->eof->findvalue('//title');

$res->charsetundefを返してくる場合に失敗するので、

use Encode::Detect::Detector qw/detect/;
my $encoding = $res->charset || detect $res->content;
my $pagetitle = HTML::TreeBuilder::XPath->new->parse(decode $encoding, $res->content)->eof->findvalue('//title');

&Encode::Detect::Detector::detectを呼んでみる。