Perl: Installierte Modulbibliotheken ausgeben

Diskutiere mit über: Perl: Installierte Modulbibliotheken ausgeben im Web-Programmierung Forum

  1. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    Hallo zusammen,

    ich meine , ich hätte bei meinem Webhoster vor einigen Tagen eine Liste entdeckt, auf der man nachsehen konnte, welche Module installiert sind.
    Die Liste war mit Sicherheit dynamisch erzeugt und sie war ähnlich formatiert wie die Ausgabe von <? phpinfo(); ?>.

    Leider finde ich den Link nicht mehr, und beim Support sind wohl im Auganblick nicht gerade die Blicker im Dienst ;).

    Die Frage lautet nun:
    Wie kann ich mir eine Liste der installierten Perl Module mit einem CGI Skript ausgeben lassen.

    Probiert habe ich schon folgendes:
    Code:
    #!/usr/bin/perl
    # ...
    print "Content-type: text/html\n\n";
    use ExtUtils::Installed;
    my $inst    = ExtUtils::Installed->new();
    my @modules = $inst->modules();
    while (my $mod=pop @modules) {
            print "$mod<BR />";
        }
    Als Ausgabe erhalte ich nur "Perl".
    Dies steht für die Standard Module, zusätzlich installierte Module sollten aufgelistet werden.

    Komisch ist das deswegen, weil auf meine Bitte hin mindestens das Modul HTML::Template nachinstalliert wurde - nach Aussage des Supports außerdem einige weiter Module. Hätte mich halt interessiert welche ;).
     
    Zuletzt bearbeitet: 17.02.2007
  2. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    Registriert seit:
    03.10.2006
    http://binblog.de/2003/11/25/installierte-perl-module-auflisten/

    den link zu diesem Einzeiler hab' ich noch als bookmark, genau für diese Fälle :)
     
  3. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    Naja, das läuft letztendlich auf das selbe hinaus, was ich schon probiert habe.
    Einziger Unterschied ist, dass zusätzlich die Versionsnummer mit ausgegeben wird.

    Das ist zwar sehr interessant, löst aber das eigentliche Problem nicht.
    Trotzdem Danke für den Tipp ;).
     
  4. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    Registriert seit:
    03.10.2006
    schade, unter Linux funktioniert's wunderbar.

    Habe auf dem Mac unter OS X (noch) keine zusätzlichen Module installiert, daher konnte ich es auch noch nicht ausprobieren.
     
  5. mac-o-rama

    mac-o-rama MacUser Mitglied

    Beiträge:
    48
    Zustimmungen:
    0
    Registriert seit:
    29.01.2006
    Hallo,

    ich war zufälligerweise auch gerade auf der Suche nach solch einem Skript und bin bei meiner Suche auf das hier gestoßen:
    http://www.macosxhints.com/article.php?story=20030704111456734

    Einige Dinge werden nicht korrekt angezeigt (Daten zur CPU und zum Speicher), aber das wichtigeste war für mich eben die Anzeige der installierten Module und das funktioniert (zumindest bei mir) einwandfrei.
     
  6. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    Nachdem mein Hoster auch Linux einsetzt, kann ich das bestätigen. Trotzdem werden grundsätzlich - genau wie unter Mac OS X - nur die Module angezeigt, die nicht Bestandteil der Perl Standard Distribution sind.
    Diese kann man sich übrigens alternativ mit folgendem Kommando auflisten lassen, wobei noch eine Reihe zusätzlicher Informationen ausgegeben werden.
    Code:
    perlodc perllocal
    Das funktioniert allerdings nur mit den Modulen, die entsprechend den Design Richtlinien installiert wurden, was für die CPAN Module wohl vorausgesetzt werden kann.

    Den Tipp von mac-o-rama habe ich auch schon ausprobiert.
    Super, das ist genau das, was ich gesucht habe.
    Vielen Dank.
     
  7. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    So, und eben jetzt kommt auch die neue Antwort Email vom Support:
    http://dd16230.kasserver.com/test.html -> Punkt Sys-Info (ganz unten)

    Überraschend ist, dass hier 720 Module angezeigt werden während "unser" Skript nur 646 findet. Sehr seltsam.
     
  8. mac-o-rama

    mac-o-rama MacUser Mitglied

    Beiträge:
    48
    Zustimmungen:
    0
    Registriert seit:
    29.01.2006
    Hmm, das ist allerdings merkwürdig. Vielleicht gibt "unser" Skript ja nicht die Standard-Module aus, sondern nur die zusätzlich installierten? Wäre das eine plausible Erklärung: 720 - 646 = 74 Standard-Module? Das ist nur eine Vermutung, beweisen kann ich es nicht.

    Ansonsten vielleicht mal den Support fragen, vielleicht können die Dir ja die Differenz erklären.
     
  9. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    Nein, bei Perl sind wesentlich mehr als 74 Standardmodule dabei.
    Bei mir werden lokal 701 Module gefunden und ich hab sicher nicht 627 Module nachinstalliert ;).

    Außerdem widerspricht das der Funktionsweise des Skripts.
    Diese durchsucht anscheinende systematisch @INC und sieht nach, was da für Module vorhanden sind.

    Ist aber auch nicht wirklich wichtig.
    Ich hab meine Informationsquelle und ob ich jemals über die Diskrepanz stolpern werde ist eher zu bezweifeln.
     
  10. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    Hallo nochmal,

    ich hab' das jetzt ein wenig weiter untersucht.

    Tatsache ist, dass perldigger nicht alle Module findet.
    Woran genau das liegt, konnt ich in dem verwurschtelten und nicht besonders gut kommentierten Code auf die Schnelle nicht herausfinden.

    Außerdem sind mir einige kleinere Fehler aufgefallen,

    Das CPU-, Memory-Informationen etc. am Mac und online nicht angezeigt werden ist nicht weiter verwunderlich, da die entsprechenden Kommandos auf dem proc System basieren, das am Mac nicht exisiert und Hosting Kunden i.d.R. nicht zugänflich sind.

    Grüße
    maceis
     
Die Seite wird geladen...
Ähnliche Themen - Perl Installierte Modulbibliotheken Forum Datum
Hilfe, nach Installation zwei Perl versionen Web-Programmierung 31.07.2012
Matches aus PERL REGEX extrahieren ??? ($1 gibt mir nur eins zurück) Web-Programmierung 29.08.2010
Problem mit Net::Ping (Perl) Web-Programmierung 28.12.2009
AppleScript statt Perl für web seite? Web-Programmierung 07.11.2009
Perl - write output to file geht nicht mehr Web-Programmierung 25.06.2009

Diese Seite empfehlen

Benutzerdefinierte Suche