先日のエントリで、「HTML::Widget が文字化けする」とか書いたのですが、HTML::Element の _xml_escape メソッドの問題 でした。
チケットは切られているので、とりあえず修正されるのを待つしかないのですが、2ヶ月以上放置されていて、早い対応は期待できなさそうなので、HTML::Widget::Kwalify に以下のコードを入れて強引に対処してます。
{
no warnings 'redefine';
*HTML::Element::_xml_escape = sub {
foreach my $x (@_) {
$x =~ s!([<&>])!'&#'.(ord($1)).';'!seg;
}
return;
};
}
あと、テスト追加したり、色々修正。ちょっとずつですが、形になってきてます。