in reply to pl script in webserver
Here is a more user friendly version of the use statement tester. You can enter the modules you want to test into a textarea box, instead of having to edit the code to test a new use statement. Took way to long to put together as i kept wondering why my box label still was centered even tho i added style="vertical-align:top;". Of course i added it to the textarea td .....
#!/usr/bin/perl # # http://www.perlmonks.org/?node_id=1187481 # use strict; use warnings; use CGI; use HTML::Entities qw/encode_entities/; my $cgi = CGI->new(); print $cgi->header(); print'<head><title>Perl use statment Testing</title></head><body>'."\n +" ; my $uselist0=$cgi->param('uselist'); my $uselist=$uselist0; $uselist='CGI::Carp JSON' unless (defined $uselist); $uselist=~s/[\n\r\t\l]+/ /g; $uselist=~s/\s+/ /g; print '<h3>Testing Use Commands:'.encode_entities($uselist)."</h3>\n"; + print '<pre>'."\n"; for my $use (split(' ',$uselist)) { addin($use); } print '</pre>'."\n"; print '<form method="POST">'."\n"; print '<table><tr>'."\n"; print '<td style="vertical-align:top;">Modules to test<br>CASE MATTERS +!<br>Just like in perl</td>'."\n"; print '<td style="vertical-align:top;"> </td>'."\n"; print '<td style="vertical-align:top;"><textarea rows="10" cols="50" +name="uselist">'.$uselist0.'</textarea></td>'."\n"; print '</tr><tr>'."\n"; print '<td style="vertical-align:top;"><input type="submit" value="Tes +tIt"></td>'."\n"; print '</tr></table> </form>'."\n"; print '</body></html>'; exit; sub addin { my $mod=shift; my $pre=shift; my %inc0=%INC; if ($pre) {print '<pre>'."\n";} print encode_entities('new to %INC from adding use '.$mod.";\n"); eval 'use '.$mod.';' ; print encode_entities("\n".'eval use ERROR:'.$@."\n") if ($@); my %incnew=(); my $max=0; # this ends up as largest in %INC not largest that is new + , good nuf for my $k (keys %INC) { $max=length($k) if (length($k)>$max);} my $fmt=' %-'.$max.'s => %s'."\n"; for my $k (sort keys(%INC)) { print encode_entities(sprintf($fmt,$k,$INC{$k})) unless ($inc0{$k +}); } print "\n"; if ($pre) {print '</pre>'."\n";} }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: pl script in webserver
by bigup401 (Pilgrim) on Apr 08, 2017 at 21:50 UTC | |
by huck (Prior) on Apr 08, 2017 at 22:22 UTC | |
by bigup401 (Pilgrim) on Apr 08, 2017 at 23:41 UTC | |
by huck (Prior) on Apr 09, 2017 at 05:37 UTC | |
by bigup401 (Pilgrim) on Apr 09, 2017 at 10:15 UTC | |
| |
by bigup401 (Pilgrim) on Apr 08, 2017 at 22:10 UTC | |
|
Re^2: pl script in webserver
by Anonymous Monk on Apr 10, 2017 at 17:53 UTC |