CGI To Display Module Documentation

Here’s a CGI to display a module’s POD. The module has to be in the $INC. This is great for providing documentation to internal modules.


# save this as showdoc.cgi
#!/usr/local/bin/perl
use strict;

use Pod::Html;
use CGI;
use CGI::Carp qw(fatalsToBrowser);

# Send out the header
print "Content-type: text/html", "nn";

my $q = new CGI;

my $module = $q->param('module');
require $module;

$| = 1;

chdir ("/tmp");

my $fullpath = $INC{$module}
    or die "$module not found";

pod2html("--infile=$fullpath", "--flush");

# Clean up the junk left by pod2html
END {
        unlink("pod2html-dircache");
        unlink("pod2html-itemcache");
}

To use this, say you want to view POD for Data::Dumper:


http://localhost/cgi-bin/showdoc.cgi?module=Data/Dumper.pm

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.