Perl-Core-Module unter Linux mit corelist prüfen

Überblick

Wer auf Linux-Systemen Perl-Skripte entwickelt oder pflegt, steht häufig vor der Frage, welche Bibliotheken bereits ab Werk im Perl-Interpreter enthalten sind und ab welchem Release ein bestimmtes Modul mitgeliefert wird. Statt auf Verdacht Drittanbieter-Pakete über CPAN oder die Distribution nachzuinstallieren, verschafft das Dienstprogramm corelist hierbei sekundenschnelle Klarheit. In dieser Anleitung erfahren Sie, wie Sie das Tool aufsetzen, Modulbestände analysieren und Versionssprünge auf Kompatibilität überprüfen.

Installation von corelist und grundlegende Modulabfragen

Um das Werkzeug unter Ubuntu einsetzen zu können, installieren wir das Perl-Laufzeitsystem zusammen mit dem Debian-Paket libmodule-corelist-perl über die Paketverwaltung.

Installation von perl und libmodule-corelist-perl via apt-get

Grundsätzlich fungiert corelist als Schnittstelle zur Moduldatenbank von Perl und gibt präzise Auskunft darüber, wann eine Bibliothek in den offiziellen Standardumfang aufgenommen wurde. Übergibt man den Schalter -v, liefert das Tool eine vollständige Aufstellung sämtlicher Perl-Releases, über deren Core-Bibliotheken es informiert ist.
⚙️ [Wichtige Parameter im Überblick]

-v : Listet alle bekannten Perl-Releases auf oder zeigt den vollständigen Modulkatalog einer spezifischen Version.
-a : Ermittelt sämtliche Versionen einer Bibliothek über alle Perl-Releases hinweg.
-d : Weist den Zeitpunkt bzw. das Release aus, ab dem ein Modul als veraltet eingestuft wurde (Deprecated).
-r : Ruft das offizielle Veröffentlichungsdatum bestimmter Perl-Versionen ab.
--diff : Stellt die Änderungen und Versionsunterschiede von Kernmodulen zwischen zwei Perl-Versionen gegenüber.

Ausführung von corelist -v zur Anzeige aller Perl-Releases

Mit dem Aufruf corelist File::Spec lässt sich ermitteln, ab wann die für Dateipfade zuständige Standardbibliothek File::Spec zur Grundausstattung gehörte.
Die Ausgabe belegt, dass dieses Modul bereits mit Perl 5.00405 Einzug in den Kernbestand hielt.

Prüfung des Aufnahmezeitpunkts von File::Spec

Ebenso lässt sich die Integration modernerer Hilfsmittel nachvollziehen: Der Befehl corelist JSON::PP prüft den Status des reinen Perl-Parsers für JSON.
Das Terminal zeigt, dass JSON::PP ab Perl v5.13.9 standardmäßig bereitsteht.

Versionsabfrage für JSON::PP mit corelist

Versionshistorie und Modulverlauf über Perl-Releases hinweg

Möchte man den vollständigen Werdegang einer Bibliothek nachverfolgen, empfiehlt sich die Option -a. Mit corelist -a Data::Dumper wird ersichtlich, dass das Werkzeug zur Struktur- und Dateninspektion seit Perl 5.005 fester Bestandteil ist und wie sich dessen interne Versionsnummer über die jeweiligen Perl-Generationen hinweg weiterentwickelt hat.

Detailhistorie von Data::Dumper über alle Releases

Ein analoges Bild zeigt sich bei Netzwerkkomponenten: Der Befehl corelist -a Socket schlüsselt die Geschichte des Low-Level-Socket-Treibers auf.
So lässt sich nachvollziehen, wie das Modul von den frühesten 5.000er-Releases an kontinuierlich aktualisiert und synchron mit dem Interpreter gepflegt wurde.

Versionsverlauf des Socket-Moduls mit Option -a

Gezielte Bestandsaufnahme und Filtersuche für Perl-Releases

Gibt man hinter dem Schalter -v eine konkrete Versionsnummer an, extrahiert corelist -v 5.034 den lückenlosen Katalog sämtlicher Bibliotheken samt exakter Revisionsstände, wie sie in Perl 5.034 gebündelt sind.
Dies erleichtert das Feststellen von Abhängigkeiten auf Zielsystemen erheblich.

Auflistung aller Core-Module in Perl 5.034

Sucht man hingegen nach Modulen zu einem bestimmten Themengebiet, ohne deren exakten Namen zu kennen, unterstützt corelist reguläre Ausdrücke in Schrägstrichen.
Mit corelist /Digest/ filtert das Dienstprogramm alle Hash- und Prüfsummen-Bibliotheken heraus und listet deren jeweilige Erstaufnahme auf.

Reguläre Suche nach Digest-Modulen via corelist

Differenzanalyse und Versionsabgleich zwischen Perl-Releases

Bei Upgrades auf neuere Distributionen ist es entscheidend zu wissen, welche Modulversionen sich verändert haben.
Mittels corelist --diff 5.030 5.034 wird ein direkter Abgleich zwischen den Ständen 5.030 und 5.034 generiert, wodurch potenzielle Inkompatibilitäten im Vorfeld aufgedeckt werden können.

Differenzvergleich der Modulstände zwischen Perl 5.030 und 5.034

Noch gravierender als Versionssprünge sind Module, die aus dem Kern entfernt wurden.
Der Befehl corelist --removed 5.034 zeigt explizit jene Bibliotheken an, die ab Perl 5.034 nicht mehr gebündelt sind. So lässt sich rechtzeitig erkennen, ob externe CPAN-Pakete vor einem Systemupgrade eingeplant werden müssen.

Ermittlung entfernter Kernmodule für Perl 5.034

Mit corelist steht Linux-Administratoren und Entwicklern ein schlankes, aber mächtiges Analysewerkzeug zur Verfügung, um die native Perl-Landschaft transparent zu durchleuchten.
Die gezielte Abfrage vermeidet überflüssigen Paketballast und stellt sicher, dass eigene Skripte distributionsübergreifend stabil und wartbar bleiben.