- CPAN
-
CPAN (engl. Comprehensive Perl Archive Network) ist ein weltweit gespiegeltes Online-Repository für Perl-Module, -Anwendungen und Dokumentationen, das am 25. Oktober 1995 in Anlehnung an die TeX-Library CTAN ins Leben gerufen wurde und sich schnell zum De-facto-Standard entwickelt hat. Es bietet die Möglichkeit einer komfortablen Installation und Verwaltung von Perl-Modulen. Heute umfasst das CPAN circa 240 Server auf fünf Kontinenten und enthält ca. 19.000 Distributionen von über 7.700 Autoren, was einem Volumen von annähernd 4,9 GB entspricht.
Inhaltsverzeichnis
Entstehung
Das Repository entstand aus einfach verlinkten, privaten Webseiten, die freie Perlmodule zum Herunterladen anboten und deren Betreiber sich perl-packrats nannten. Die Seite des Finnen Jarkko Hietaniemi entwickelte sich dabei zum Vorreiter, da sie meist sehr aktuell war und die meisten Module enthielt. Sie wurde immer selbstverständlicher von den anderen gespiegelt, bis Jarkko den Inhalt der wichtigen Archive vereinigte und somit das CPAN schuf. Andreas König erweiterte dieses Archiv um PAUSE (The [Perl programming] Authors Upload Server), das den Autoren ermöglicht, selbst ihre Module im CPAN zu veröffentlichen. Andere Teile dessen, was heute als CPAN sichtbar ist, gehen wiederum auf die Verbesserungen von Jarkko zurück. Lediglich die Suchmöglichkeiten und der CPAN-Multiplexer sind das Werk anderer Perl-Veteranen.
Regeln
Ein Teil des Erfolges ist auch darauf zurückzuführen, dass sich über die Jahre strikte Standards für die hochgeladenen Module etabliert haben. Jedes Modul sollte zumindest eine MANIFEST-Datei, eine Readme-Datei, Metainformationen in Form einer META.yml-Datei und ein Installationsskript enthalten. Außerdem sollten alle Funktionen direkt im Quellcode mit POD-Dokumentation versehen werden. Zusätzlich sollten möglichst viele Test-Skripte enthalten sein, diese werden beim Installieren automatisch ausgeführt und deren Resultate (mit der Zustimmung des Benutzers) ebenfalls automatisch an CPAN zurückgesendet. So kann der Autor binnen kürzester Zeit Testresultate von verschiedensten Systemen erhalten.
CPAN-Modul
Mit dem Modul CPAN von Andreas König kann man leicht von einer Kommandozeile aus – unabhängig vom Betriebssystem – ein Perlmodul im CPAN suchen, herunterladen, testen, installieren oder deinstallieren. Dies ist auch interaktiv mit der enthaltenen, sogenannten CPAN-Shell möglich, die man einfach mittels „cpan“ aufruft. Zu dieser bildeten sich die Alternativen „cpanp“ (CPANPLUS) und "cpanm" (CPANMINUS). Besonders die letztere wird häufig wegen ihrer sehr einfachen Benutzungsweise und kurzen, präzisen Ausgaben Anfängern empfohlen, muß aber als Modul 'App::cpanminus' installiert werden, währenddessen CPAN von Anfang an enthalten ist.
Module installieren
perl Makefile.PL make make test make install
CPAN-Module werden mit dem klassischen make-Werkzeug installiert, ähnlich wie bei Autoconf wird allerdings auch hier das Makefile erst auf dem Zielrechner, auf dem das CPAN-Modul installiert werden soll, erstellt. Dies wird naheliegend mit einem mitgelieferten Perl-Programm getan, was etwa dem Aufruf von ./configure bei Autoconf entspricht.
Eine Installation läuft anschließend wie die eines gewöhnlichen Programmes ab (siehe rechts): Mit
make
wird der Quelltext ggf. kompiliert (z. B. betriebssystemabhängige Teile, die in C geschrieben sind), mitmake test
werden die mitgelieferten Testprogramme ausgeführt und mitmake install
wird das CPAN-Modul in das von der Perl-Installation vorgeschriebene Zielverzeichnis installiert.Erweiterungen
In den letzten Jahren gab es mehrere Initiativen, die dem CPAN neue Funktionen gaben bzw. diesem beigefügt sind.
- Phalanx Project – Initiative zur Verbesserung der Dokumentation und Testabdeckung von Perl und seiner wichtigsten 100 Module.
- CPAN Testing Service (CPANTS) – Ein Dienst, der alle Distributionen automatisch auf mögliche formale Unzulänglichkeiten prüft.
- CPAN Testers – überprüft neue Modulversionen auf ihre Lauffähigkeit unter verschiedenen Betriebssystemen und Konfigurationen.
- CPAN Ratings – Bewertungen (0 bis 5 Sterne) und Rezensionen von Modulen.
- Annotated CPAN – Möglichkeit für Benutzer, Kommentare in die Dokumentation der Module einzufügen, die zusätzlich eingeblendet werden können.
Alternative
ActiveState liefert zu seiner Distribution ActivePerl ein vom Funktionsumfang her vergleichbares Werkzeug namens ppm mit, das seine Dateien allerdings nicht direkt aus dem CPAN, sondern aus einem daraus abgeleiteten Repository bezieht, welches für einige Betriebssysteme wie Windows, Linux und Solaris vorcompilierte Pakete enthält.
Weblinks
Wikimedia Foundation.