URL毎になんかする、みたいな事を書きたいと思ったので(アーカイブ参照)、URIオブジェクトに対して任意のテストを実行できるモジュール書きました。ドキュメントを入れても153行の小さなモジュールですよ。

使い方はこんな感じ
use URI; use URI::Match; my $uri = URI->new("http://www.endeworks.jp"); if ($uri->match_parts( host => qr{^.+\.endeworks\.jp$},, path => qr{^/$} ) ){ # match }


ポイントは、

  • URLのパーツ毎にマッチングができる
  • マッチするのに、正規表現、関数、オブジェクトのどれでも使える
の二つ。

もちろん正規表現一発で事足りるケースも多いんだけど、どんな正規表現にするのか前もって知らなかったり、ロジックを組み合わせなければいけない時(ホストはこの数個の中のどれでも良いけど、パスは全部これね、みたいな)に使えると思うよ!

先ほどCPANうpしますた。