Hatena::ブログ(Diary)

”><xmp>TokuLog 改メ tokuhirom’s blog このページをアンテナに追加 RSSフィード

XML::Feed::Deduper 書いた

http://github.com/tokuhirom/p5-xml-feed-deduper/tree/master

feedをaggregateしてきて、あたらしいエントリがあったらなんか処理する、みたいなのはよくやるんですが、そういう処理をやるたびに DB_File とかつかってどうこう、みたいなのはめんどいので、適当にできるモジュールをでっちあげた。

利用法は以下のとおり。

    use XML::Feed;
    use XML::Feed::Deduper;
    my $feed = XML::Feed->parse($content);
    my $deduper = XML::Feed::Deduper->new(
        path => '/tmp/foo.db',
    );
    for my $entry ($deduper->dedup($feed->entries)) {
        # only new entries come here!
    }

ちょっとしたアグリゲータを書くときなんかに便利。

Plagger にはこれと同等の処理をする Plagger::Rule::Deduped ってのがあるんですが、それをコピペして、単体モジュールとしてつかえるようにしたというような具合。

今回これつくるのに Any::Moose つかったんですが、なんだかんだで Moose のインターフェースで Perl5OO つかうと楽に書けて便利ですわな。とはいえ、Moose だと依存が多いし、ロードに 0.32sec ほどかかってしまうので、ライブラリには使うのはちょっとアレ、というような事情が昔はあって、この程度のライブラリだと昔はMoose使うのはアホだったんですが、今はMouse はそのへんの欠点をおぎなってるので、なんだかんだでみんなハッピーなんでよかったんじゃないすかね、というようなことを http://d.hatena.ne.jp/charsbar/20090406/1239016623 をみておもった。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/tokuhirom/20090407/1239079453