HTML::Widget::Kwalify #2

先日のエントリで、「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;
    };
}

あと、テスト追加したり、色々修正。ちょっとずつですが、形になってきてます。