CPAN

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
CPAN
Logo
www.cpan.org
Beschreibung Comprehensive Perl Archive Network
Sprachen Englisch
Urheber Jarkko Hietaniemi
Erschienen 25. Oktober 1995
Mitglieder 11.200 Autoren

CPAN (englisch 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 260 Server auf fünf Kontinenten und enthält ca. 29.000 Distributionen von über 11.000 Autoren mit einem Volumen von ungefähr 17 GB.[1]

Entstehung[Bearbeiten]

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 den PAUSE (Perl Authors Upload Server), der es den Autoren ermöglicht, ihre Module selbst 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[Bearbeiten]

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[Bearbeiten]

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, upgraden oder deinstallieren. Dies ist auch interaktiv mit der enthaltenen CPAN-Shell (keine Shell im eigentlichen Sinne) möglich, die man einfach durch die Eingabe von cpan aufruft. Für diese bildeten sich die Alternativen CPANPLUS und CPANMINUS. Besonders die letztere wird wegen ihrer sehr einfachen Benutzungsweise und kurzen, präzisen Ausgaben häufig Anfängern empfohlen, muss aber als Modul 'App::cpanminus' installiert werden, wohingegehen CPAN von Anfang an enthalten ist.

Module installieren[Bearbeiten]

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 realisiert, was etwa dem Aufruf von ./configure bei Autoconf entspricht.

Eine Installation läuft anschließend wie bei der eines gewöhnlichen Programms ab (siehe rechts): Mit make wird der Quelltext ggf. kompiliert (z. B. betriebssystemabhängige Teile, die in C geschrieben sind), mit make test werden die mitgelieferten Testprogramme ausgeführt und mit make install wird das CPAN-Modul in das von der Perl-Installation vorgeschriebene Zielverzeichnis installiert.

Erweiterungen[Bearbeiten]

In den letzten Jahren gab es mehrere Initiativen, die dem CPAN neue Funktionen gaben bzw. diesem beigefügt wurden:

  • 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[Bearbeiten]

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 Linux, Solaris und Windows vorkompilierte Pakete enthält.

Weblinks[Bearbeiten]

Quellen[Bearbeiten]

  1. CPAN Statistics