Seite wählen

Abhängigkeiten von Perl-Skripten überprüfen

von | 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 Kommentare

Trackbacks/Pingbacks

  1. Weekly Snap: Monitoring Aida Cruises, Linux VFS & Perl Tips › NETWAYS Blog - [...] happy to help, Eric shared his script to check the dependencies of various Perl scripts. Helpful to those who…

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema 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...