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";} }