utf8プラグマを使わずに、Jcodeに文字コードの変換を任せる形にして、RssMemoを1.1に更新しました。その他、出力するJavaScriptファイルの文字コードだけは指定できるようにしたり、RSSのchannel
要素の子であるtitle
要素やdescription
要素に入る文字列を指定できるようにしました。
出力文字コードの指定がJavaScriptファイル限定なのは、RSSをXML::RSSでパースしている都合上、Shift_JISやEUC-JPのRSSを出してしまうと、それぞれのencmapファイルを用意してやらなければならないからです。これはメンドウなのでJavaScriptファイルのみということにしました。
RSS 0.92からRSS 2.0に変更した理由は、将来に日付けやその他の情報を入れたいと思った時に拡張するのが楽だろうと考えたからです。RSS 2.0はRSS 0.92と互換性があるので、rss
要素のversion
属性の値が変わるだけです(今のところはですが)。
Perl 5.8で動くかどうかは知りません。試してもいないです。試す気も無いです。ただ、今回の変更によってバージョン依存なコードは排除していったので動いちゃったりするかもしれませんというような夢をみています。
そういや、うまく動かないという人が多いのですが、ありがちなのは
みたいな感じ。
どうやら一部環境で出力HTMLのみ文字化けを起こすようなので、対策してみました。XML::RSSで取り出した文字列にUTF-8フラグがつくのが原因っぽいです。またUTF-8フラグか!