先に紹介した Apacheクックブック に、PATH_INFO に与えられたモジュール名の perldoc をブラウザに表示する Apache::Perldoc なんて mod_perl ハンドラについて軽く触れられていました。面白そうだったので CPAN からインストールしてみました。
例えば XML::RSS の perldoc は
http://beta.bloghackers.net/perldoc/XML::RSS
を叩くと読めます。内部で pod を HTML にコンバートして返してるようです。@INC で辿れるモジュールであれば何でも読めるようです。このサーバでは Movable Type が mod_perl で動いているため、PerlSetEnv で Movable Type ライブラリにパスが通ってます。なので、
http://beta.bloghackers.net/perldoc/MT::Blog
とかすると MT::Blog の perldoc が読めたりしました。
Apache::Perldoc のドキュメントには、選択したテキスト(モジュール名)を Apache::Perldoc な URL に渡す Bookmarklet のコードが載ってます。が、"I know this works in Netscape and Mozilla. Can't vouch for IE." (IEで動かない) なんてことが書いてます。これじゃあれなので、Hack して IE でも動くようにしてみました。
うむ、便利。しかし Apache::Perldoc はあくまでインストールされてるモジュールの pod を変換しているだけなので、インストールしてないものに関しては役に立ちません。そこで Hacking the Hack 、選択したテキストを search.cpan.org で検索する Bookmarklet にしてみました。
perldoc の permalink 先ではなく、検索結果が表示されます。
search.cpan.org のモジュールの URL は http://search.cpan.org/~(author名)/(モジュール名)/ となってますが、http://search.cpan.org/(モジュール名)/ だったら、この Bookmarklet でダイレクトに飛ばせるのになあ...と思ったのでした。
http://search.cpan.org/dist/モジュール名
でいけたはずです。