RSSファイルのパースエラー

PerlでRSSファイルをパースする時、

eval{
  $rss->parse($j->set(\$content)->utf8);
};

とか処理してたのですよ。こういう事すると、XML宣言にUTF-8以外の文字コードが明記されていると、パースエラー起こすようです。

当たり前っていや、当たり前なんですが、まるで気づかなかった。

あるRSSファイルが、

<%xml version="1.0" encoding="iso-8859-1"%>

となってて、UTF-8に変換してパースすると、「なんか変だぞ、コラ」と怒られ、気づきました。

今までは、パースエラーが出る時は、

の、どちらかであることばかりだったので、どうしようもないかなと目をつぶっていたわけで。とにかく間抜けな間違いに気づくことが出来てよかった。

RSS Headline Grabber更新せねば。