Welche Perl-Module sind eigentlich auf dem System installiert?

| | Kommentare (1)

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

1 Kommentare

Oder als ASCII-Tabelle ausgeben.

Jetzt kommentieren

Über diese Seite

Diese Seite enthält einen einen einzelnen Eintrag von Thomas Fahle vom 21.12.08 21:32.

11th Grade oder Wie wichtig Perl für Ihre IT-Karriere ist ist der vorherige Eintrag in diesem Blog.

Mikro-Blogging mit Net::Twitter ist der nächste Eintrag in diesem Blog.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.

Blog Roll

Powered by

Powered by Movable Type 5.2.10

Creative Commons-Lizenz

Creative Commons License
Dieses Weblog steht unter einer Creative Commons-Lizenz.