Select Page

Abhängigkeiten von Perl-Skripten überprüfen

by | Jun 10, 2011 | Linux, Development

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.
Eric Lippmann
Eric Lippmann
CTO

Eric kam während seines ersten Lehrjahres zu NETWAYS und hat seine Ausbildung bereits 2011 sehr erfolgreich abgeschlossen. Seit Beginn arbeitet er in der Softwareentwicklung und dort an den unterschiedlichen NETWAYS Open Source Lösungen, insbesondere inGraph und im Icinga Team an Icinga Web. Darüber hinaus zeichnet er für viele Kundenentwicklungen in der Finanz- und Automobilbranche verantwortlich.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

More posts on the topic Linux | Development

Mein PHP-Trainingsprojekt

PHP Schulung Vor kurzem haben wir begonnen, eine neue Programmiersprache zu lernen – PHP. In der ersten Woche haben wir mit den Grundlagen wie Variablen, Arrays, Schleifen begonnen und uns schrittweise zu komplizierterer Syntax wie Funktionen, Objekten und Klassen...