Find Modules

Ein kleines Script das versucht alle installierten Perl Module zu finden. Dazu geht es alle Möglichen Verzeichnisse durch und listet die Ergebnisse. Es läuft auch als CGI-Script.

Download:find_modules.pl

Das Script akzeptiert folgende Optionen

  • vsimple
    das Script versucht die Version eines Modules zu ermitteln, Indem es das Modul als datei öffnet und die Zeile mit "$VERSION =" zu interpretieren versucht.
  • vuse
    das Script versucht die Version des Scriptes zu ermittelt, Indem es versucht die gefundenen Module zu laden und mittels "$Modul::VERSION" die Version zu ermitteln. Das kann Lange dauern und ist Speicher- und Prozessorlastig.
  • extutils
    es wird das Modul ExtUtils::Installed verwendet, um alle installierten Module zu ermitteln.
  • rsimple
    Ohne ein Modul zu verwenden werden alle bekannten Perlmodulordner durchsucht, und die darin gefundenen Module gelistet. Dabei werden sehr viel mehr Module gefunden als mit der option "extutils". Zum einen werden auch alle Core-Module gefunden (Module, die zur Basisinstallation gehören), als auch Module, die zu einem gößeren Bundle gehören und eigenständig nicht verwendbar währen. Es wird schon versucht die Liste zu verkürzen, indem Module mur Module gelistet werden, die scheinbar untergordnetet Module haben. (*.pm und Verzeichnis selben Namens) Dabei werden unter Umständen zu viele Module verworfen
  • rslong
    Wie "rsimple", es wird aber darauf verzichtet, die Liste der Module zu verkürzen.
  • pversion
    Gibt die perl Version aus
  • pvlong
    Gibt die perl Version aus wie sie von "perl --version" produziert wird

Das Script macht nichts solange keine Option angeben wurde da es auch im Web laufen soll habe ich aus Sicherheitsgründen auf eine Hilfe verzichtet. Veraltete Module können ein Einfallstoor für Cracker sein, die sich darüber das Servers bemächtigen könnten.

Der Aufruf über die Konsole ist wie folgt:

scriptname [vsimple] [vuse] [extutils] [rsimple] [rslong]
wobei die Reihenfolge unwesentlich ist.

Der Aufruf übers Web ist wie folgt:

http://server/cgi-bin/scriptname?[vsimple&][vuse&][extutils&][rsimple&][rslong&]
auch hier ist die Reihenfolge unwichtig.