I put together this code to help migrating Perl scripts from one environment to another. The scripts are mostly CGIs, and I found it annoying and time consuming to either
. Using this little script you can check whether all needed modules are available.
- run the scripts to see what breaksor
- read through each script manually
Comments and suggestions are appreciated as always...
Update: Changed the logic in my if statement to reflect podmaster's CB suggestion...
my $filename=shift || &help; # command line argument is perl script to
my @modules; # array of 'use' statements from code we are checking
open (IN,$filename) or die "couldn't open $filename for processing: $!
if ((/^use/) and not (/strict/ || /warnings/))
for my $code (@modules)
my (undef,$library)=split(/ /,$code); # get the module name
$library=~s/;//; # clean up the name
warn "couldn't load $library: $@","\n";
print "$library looks ok\n";
This script finds all the "use" statements loading modules in the targ
file (specified as a command line argument) and attempts to load them.
If there are problems loading the module, the error mesage returned is