------------------------------------------------------------------ #!perl # by Jeff Zucker # # may be freely modified and distributred under the same terms as Perl itself # use strict; use CGI; use CGI::Carp qw/fatalsToBrowser/; use File::Find; use Pod::Html; my $q = new CGI; my $modname = $q->param('mod') || ''; show_form(); if( $modname =~ /^perl/ ) { show_perl($modname); } ### I (HM) added this ### elsif( $modname =~ m#/# ) { show_dir($modname); } else { show_pod( $modname ); } ### I (HM) added this subroutine ### sub show_perl { my $text = `C:\\Perl\\bin\\perldoc.bat perl`; print <

Testing222

\$text=[$text]
END_HTML } # end show_perl sub show_form { print $q->header, $q->start_html(-title=>'POD FINDER'), $q->start_form, $q->b("Module Name : "), $q->textfield(-name=>'mod'), $q->end_form, $q->end_html, ; } sub show_pod { my $modname = shift; return unless $modname; $modname =~ s#::#/#g; my $filename = findmod( $modname ); pod2html("--quiet","--infile=$filename") if $filename; } sub show_dir { my $dir = shift; $dir =~ s#/$##g; my $scriptname = $q->script_name; for(@INC){ my $fdir = "$_/$dir"; if( -d $fdir ) { opendir(D,$fdir) || die $!; my @files = readdir D; closedir D; for(@files) { next unless /(.*)\.pm$/; print "$dir\:\:$1
"; } } } return ''; } sub findmod { my $mod = shift; if (-e $mod ) { return $mod; } for(@INC){ my $modname = "$_/$mod.pm"; if( -e $modname ) { return $modname; } } return ''; } __END__ ------------------------------------------------------------------