Aggregator::Async と Publish::OPML を組み合わせて OPML 生成すると、何故か Feed じゃないものまで OPML に混ざってる。
良く見てみると、OPML の xmlUrl に何故か HTML へのリンクが入ってる。ってことは Plagger::Feed->url に HTML へのリンクが何故か入ってることになる。
自分の環境(WinXP ap1 + ActivePerl)だと
plugins: - module: Aggregator::Async - module: Subscription::Config config: feed: http://google.co.jp/ - module: Publish::OPML config: filename: /path/to/test.opml
で確実に再現する。あとさくらインターネットで実行しても再現した。なんでこうなるかは不明。
Aggregator::Async で Feed を追加しているところ(handle_feed を呼び出しているとところ)は handle_response 以外にないので、このメソッドのどこががおかしいんじゃないかと思う。
あってるかどうか分からんけど。