Als Entwickler oder Anwender, stößt man oft auf fremde Perl-Skripte, die weiterentwickelt oder eingesetzt werden wollen. Durch die Flut an verfügbaren Modulen, ist es oft ein Kampf eventuell fehlende Module nachzuinstallieren. Dabei gehen die meisten wohl so vor, nach und nach die Abhängigkeiten zu installieren, während Sie das Skript immer wieder ausführen. Abhilfe dabei soll folgendes Skript schaffen, welches die verwendeten Module extrahiert und überprüft, ob diese schon auf dem System vorhanden sind.
#!/bin/sh
MODULES=$(sed -rn 's/^[\s]*(use|require) ([^; ]+)(;| ).*/\2/p' $1 | sort -u | xargs)
for MODULE in $MODULES
do
echo -n "Checking module ${MODULE}... "
if ! perl -M"${MODULE}" -e 1 2> /dev/null ;
then
echo "Not Found."
#echo "Installing..."
#perl -MCPAN -e "install ${MODULE}"
else
echo "Found."
fi
done
Optional kann man sich durch die auskommentierten Zeilen, fehlende Module via CPAN installieren lassen.
Ein Beispielaufruf könnte so aussehen:
# ./check_perl_modules.sh $PERLFILE
Checking module Config::General...Found.
Checking module Data::Dumper...Found.
Checking module Getopt::Long...Found.
Checking module Math::RPN...Found.
Checking module Pod::Usage...Found.
0 Kommentare
Trackbacks/Pingbacks