POD をブラウザで閲覧する(Pod::HtmlEasy で)

pod を端末から perldoc コマンドで読んでいると,関連するモジュールへハイパーリンクで飛べたらなぁという気持ちによくなります。そんなときは開発サーバでウェブサーバが立ち上がっているのなら pod2html で HTML を生成し,ブラウザで閲覧するのがおすすめです。
pod2html コマンドで使用されている Pod::Html を使うと CGI が簡単に書けます…といいたいところですが,このモジュールでは STDOUT に直接出力するわ,なんかよくわからないファイルを2つ勝手に生成するわでいまひとつ使い勝手がよろしくないです。
これまでは Pod::Html をコピーして内容を大幅に書き換えて使っていたんですが,ふと CPAN を探索してみると,使えそうなモジュール Pod::HtmlEasy が目にとまりました。Pod::Html と違って,関数の戻り値に HTML の内容を返してくれますし,各 POD ディレクティブにコールバック関数を設定して好みの形式にできるしでいうことありません。

いざ!ということでこちらを使った mod_perl モジュールを書いてみました…が,Pod::Html に比べて非常に遅い結果になってしまいました。コマンドラインからプロファイルをとってみたところ,Pod::HtmlEasy::Parser::_encode_entities() なる関数で非常に時間をくっています。これ,& などのエンティティに変換するための関数なんですが,デフォルトではできうる限りの種類の文字を変換するためボトルネックになっているみたいです。
ということで,解決策ですが,

my $html = $pod_htmleasy->pod2html(
  '/usr/lib/perl5/5.8.8/Carp.pm',
  '',
  basic_entities => 1,  # ← &, <, > だけ変換します
);

のように basic_entities というオプションを有効にするととても速くなります。