use strict; use warnings; print "content-type: text/plain\n\nTesting"; no warnings 'once' ; local $Data::Dumper::Sortkeys=1; local $Data::Dumper::Indent=3; use warnings; addin('Data::Dumper',1); addin('CGI::Carp qw(fatalsToBrowser)',1); addin('GD',1); addin('LWP::UserAgent',1); addin('x::x',1); sub addin_old { my $mod=shift; my $pre=shift; my %inc0=%INC; if ($pre) {print '
'."\n";}
eval 'use '.$mod.';' ;
print 'eval use ERROR:'.$@."\n" if ($@);
my %incnew=();
for my $k (keys %INC) { $incnew{$k}=$INC{$k} unless ($inc0{$k}); }
print 'new to %INC from adding use '.$mod."\n";
print Dumper(\%incnew);
if ($pre) {print ''."\n";}
}
sub addin {
my $mod=shift;
my $pre=shift;
my %inc0=%INC;
if ($pre) {print ''."\n";}
eval 'use '.$mod.';' ;
print '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";
print 'new to %INC from adding use '.$mod."\n";
for my $k (sort keys(%INC)) {
printf $fmt,$k,$INC{$k} unless ($inc0{$k});
}
if ($pre) {print ''."\n";}
}