Welche Perl-Module sind eigentlich auf dem System installiert?

Veröffentlicht von Thomas Fahle am (Permalink)

Perl wird bereits mit vielen, häufig genutzten, Standardmodulen ausgeliefert. Noch viel mehr nützliche Module findet man auf CPAN.

Manchmal möchte man etwas genauer wissen, welche Module in welcher Version auf dem System installiert sind.

Eine einfache Methode ist der Aufruf von perldoc perllocal auf der Kommandozeile, dessen Ausgabe sich auch irgendwie parsen lässt.

Aber, mehr Licht ins Dunkel bringt das CPAN-Modul CPANPLUS::Backend von Jos Boumans.

Statt vieler Worte ein einfaches Beispiel:

Das nachfolgende kleine Programm ermittelt die Namen, Versionen und Beschreibungen der installierten Perl-Module auf einem Linux-System.

#!/usr/bin/perl
#
# perl-module.pl
#
use warnings;
use strict;

use CPANPLUS::Backend;

my $sep = '|';


my $cb = CPANPLUS::Backend->new;
my @modules = $cb->installed();

foreach my $module (@modules) {
        # $module is a CPANPLUS::Module object
                # get the module's information
        if ($module->module()) {
                print $module->module();
        } else {
                print $module->name();
        }
        print $sep; #Record Separator 

                # get the module's description
        if ($module->description() ) {
                print $module->description();
        } else {
                print "Missing description";
        }

        print $sep; #Record Separator 

                # get the module's version
        print $module->version(); # automatically returns 0.0 if undef

        print "\n";

} ## foreach

__END__

Das erzeugt in etwa folgende Ausgabe (gekürzt):

XML::Simple|Easy API to maintain XML (esp config files)|2.16
XML::Twig|A module for easy processing of XML|3.29
XML::Twig::XPath|Missing description|0.02

Also eine Tabelle mit drei Spalten, jeweils getrennt durch einen senkrechten Strich (|).

Weiterverarbeitung der Daten

Wenn man den Texttrenner (Separator) vernünftig wählt, lässt sich die Ausgabe auch in OpenOffice Calc oder in Microsoft Excel weiterverarbeiten. Einfach als Textdatei importieren, den gewünschten Texttrenner wählen, und schon ist der Bericht weitgehend geschäftsführergeeignet.

Siehe auch

Weitere Posts