モジュール一覧とか要らなければ、
# app.psgi
use Pod::Simple::XHTML;
use Pod::Simple::Search;
sub {
my $env = shift;
my $path = $env->{PATH_INFO};
if ( $path eq '/' ) { return [ 200, [ ], ['It works!'] ]; }
$path =~ s{^/}{};
my $mod = $path;
$mod =~ s{/}{::}g;
my $filepath = Pod::Simple::Search->new->find($mod);
if ( $filepath ) {
my $podparser = Pod::Simple::XHTML->new;
my $content = '';
$podparser->output_string(\$content);
$podparser->perldoc_url_prefix('/');
$podparser->index(1);
$podparser->parse_file($filepath);
if ( $podparser->content_seen ) {
return [ 200, [ ], [ $content ] ];
}
}
[ 404, [ ], [ qq{not found $mod} ]];
}
で、 plackup すれば簡易podwebserverの出来上がり。
# @INC以下にあるモジュール一覧を収集してくれるモジュールってないのかなぁ..