Add check for perl modules

This commit is contained in:
2025-01-31 10:15:57 +01:00
parent 5a6912c1ac
commit b8b7273016
2 changed files with 74 additions and 17 deletions

45
scripts/checkPerlModules.pl Executable file
View File

@@ -0,0 +1,45 @@
#!/usr/bin/env perl
use warnings;
use strict;
my $filename =
shift || &help; # command line argument is perl script to evaluate
my @modules; # array of 'use' statements from code we are checking
open( IN, $filename ) or die "couldn't open $filename for processing: $!
+\n";
while (<IN>) {
chomp;
if ( (/^use/) and not( /strict/ || /warnings/ ) ) {
push @modules, $_;
}
}
close IN;
for my $code (@modules) {
my ( undef, $library ) = split( / /, $code ); # get the module name
$library =~ s/;//; # clean up the name
eval $code;
if ($@) {
warn "couldn't load $library: $@", "\n";
} else {
print "$library looks ok\n";
}
}
sub help
{
print <<"END";
checkPerlModules.pl
This script finds all the "use" statements loading modules in the targ
+et perl
file (specified as a command line argument) and attempts to load them.
If there are problems loading the module, the error mesage returned is
+ printed.
END
exit;
}