http://pipes.yahoo.com/tomita/cpan_recent_plus (feed url)
というふうにでます。
最初はモジュール作者のアイコンだけ含んだものだけを作ろうと Pipes で作り初めたんすが、最終的には自分でコード書いた方がよっぽど簡単な長大パイプになりました。個人が作った便利系サービスは長続きすんのかなっていう不安もどっかにあると思うんですが、これは Yahoo のリソースで動き続けるんでその点だけいいかも。その代わりリリースの変更点があまりに長大だと取得できないとか気まぐれで遅いとか Pipes の制限もくらいます。
さて、作ってるときムダに身についた Yahoo Pipes の Tips をいくつか。
Loop にものを入れようとしても、狙った Loop と違う Loop に入り、そっちに仕込んであったものが消えてしまって泣ということがよくある。Undo ないんで、新しく Loop にものを入れる前に必ずセーブしたほうがいい。セーブって言えばこれくらい長くなると何回かトライしないとセーブできない。細かくモジュール分けすればよいのだろうが、めんどうでずらっとつなげたまま。
Changes の diff については、もともと search.cpan.org に Other Tools のところから使えるウェブインターフェースがあるのでその結果のページから Changes ファイルの部分だけ抜き取れば簡単~と思ってたらなんと robots.txt で避けられていたうーむorz しかし、tinyurl みたいなのを通すとだませることがわかったのでそれで対応した。ニャハハハ
オブジェクトをむりやり文字列化すると Yahoo::RSS::Item=HASH(0x41262f8) みたいな表現に。どうやらバックエンドは Perl のようだ。裏が Perl とわかれば話が早いのだけど、String Builder で文字連結した時、utf8フラグ付きとなしの結合による自動アップグレード化けらしきもの(ウムラウト付きアルファベットが多数)が発生した時があった。なんとなく見当つけて $foo = $foo . $bar; の代わりに String Regex を使い $foo =~ s/$/$bar/; となるようにしたらうまくいった。たぶん内部システムで decode の扱いが違うんだろう。なんというバッドノウハウ。
※もし Clone してもっといいのができたら必ず教えてください、ぼくもそちらに切り替えますので!