| # CPAN-Module
| Allgemeines zu den Modulen im CPAN-Verzeichnis Adressen des CPAN-Verzeichnisses Kategorien für Module im CPAN-Verzeichnis Module aus dem CPAN-Verzeichnis downloaden und installieren

## Allgemeines zu den Modulen im CPAN-Verzeichnis

CPAN steht für Comprehensive Perl Archive Network (zu deutsch in etwa zu übersetzen mit Umfassendes Perl-Archiv Netzwerk). Es ist eine Art offizielle Sammelstelle für Perl-Module. Das CPAN-Verzeichnis enthält tausende von Modulen für alle nur denkbaren Aufgaben, egal ob für Kalenderprogrammierung, mathematische Berechnungen, Textverarbeitung, Datenverschlüsselung oder Internetzugriffe. Das Stöbern im CPAN-Verzeichnis und Besorgen eines geeigneten Moduls kann also viele Stunden und Tage Programmierarbeit sparen. Dazu kommt, dass ein bewährtes Modul meistens schon von Bugs (Fehlern) im Code weitgehend befreit ist und eine Laufstabilität hat, die selbstgeschriebener Code oft erst nach längerer Zeit erreicht.

Module aus dem CPAN-Verzeichnis müssen allerdings - im Gegensatz zu den Standardmodulen - erst installiert werden, bevor ein Script sie verwenden kann. Wenn ein Script auf einem anderen Rechner laufen soll, müssen CPAN-Module, die in dem Script verwendet werden, auch dort zuerst installiert werden. Dazu müssen Sie die gewünschten Module zunächst downloaden.

Die Module aus dem CPAN-Verzeichnis verfügen in der Regel genau wie die Standardmodule über eine integrierte Dokumentation, die mit perldoc lesbar ist.

## Adressen des CPAN-Verzeichnisses

Das CPAN-Verzeichnis ist wegen der hohen Belastung durch die zahlreichen Perl-Programmierer auf vielen Servern weltweit gespiegelt. Es ist daher ratsam, sich erst einmal über die verfügbaren Server zu informieren. Die offizielle Liste der CPAN-Server finden Sie unter folgender Adresse:

http://www.perl.com/CPAN/SITES

Die Server, die dort aufgelistet werden, sind überwiegend öffentliche FTP-Server. Die meisten Browser sind in der Lage, die Inhalte von FTP-Sites anzuzeigen. Ansonsten können Sie auch mit Hilfe eines FTP-Programms auf einen solchen Server zugreifen. Im Link-Verzeichnis des Online-Angebots von SELFHTML aktuell finden Sie eine Produktübersicht mit Links zu Anbietern von solchen Programmen:

SELFHTML-Linkverzeichnis: FTP-Programme

Bei den Spiegelungen des CPAN-Verzeichnisses handelt es sich um öffentliche FTP-Sites. Das bedeutet, dass Sie für die FTP-Verbindung zu dem Server einfach die Serveradresse (Name oder IP-Adresse), als Benutzernamen Anonymous und als Passwort Ihre E-Mail-Adresse angeben.
Einige der aufgelisteten Server sind jedoch auch HTTP-Server, die für Browser ohne eingebaute FTP-Funktion geeignet sind.

Sie können das CPAN-Verzeichnis aber auch in Form normaler Web-Seiten durchstöbern. Rufen Sie dazu die folgende Adresse auf:

http://www.perl.com/CPAN/

## Kategorien für Module im CPAN-Verzeichnis

Einen guten inhaltlichen Überblick über die verfügbaren Module erhalten Sie, wenn Sie mit einem FTP-Programm im CPAN-Verzeichnis ins Unterverzeichnis modules und dann weiter ins Unterverzeichnis by-category wechseln. Jede Kategorie wird durch ein Unterverzeichnis repräsentiert. Die folgende Tabelle listet die Namen der zum Zeitpunkt der Redaktion dieses Textes verfügbaren Unterverzeichnisse auf und gibt zu jedem Unterverzeichnis einen kurzen Überblick über dessen Inhalt. Dieser Überblick ist allerdings nur ein grober Anhaltspunkt, was in dem jeweiligen Unterverzeichnis zu finden ist. Wenn Sie auf der Suche nach einem Modul für eine bestimmte Aufgabe sind, sollten Sie beim Besuch des CPAN-Verzeichnisses etwas Zeit zum Stöbern und Lesen mitbringen.

Beachten Sie, dass das CPAN-Verzeichnis physikalisch nach Autoren geordnet ist. Die Sortierung nach Kategorien enthält daher nur symbolische Links auf Verzeichnisse und Dateien in anderen Verzeichnissen unterhalb des Verzeichnisses authors. Wenn Sie also ein Verzeichnis oder eine Datei auswählen, wechseln Sie automatisch in ein entfernteres Verzeichnis oder erhalten eine Datei aus einem entfernteren Verzeichnis.

Unterverzeichnis | Inhalt
--- | ---
`02_Perl_Core_Modules` | Enthält Module, die zum Kern von Perl gezählt werden. Viele dieser Module gehören mittlerweile auch zu den Standardmodulen von Perl. Das Verzeichnis enthält aber noch mehr als die Standardmodule. Bei den weiteren Modulen handelt es sich um Anwärter für Standardmodule. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Filter` filtert den Quellcode eines Perl-Scripts nach verschiedenen Kriterien, bevor er ausgeführt wird. `enum` erlaubt das Definieren symbolischer Konstanten und damit ein Arbeiten wie mit dem aus C bekannten Datentyp.
`03_Development_Support` | Enthält Module, die das Entwickeln von Perl-Scripts und von Modulen unterstützen. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Devel::` stellt diverse Tools zur Verfügung, mit deren Hilfe Profiling, Debugging und Laufzeitkontrolle von Perl-Scripts oder Modulen kontrolliert werden können. `ExtUtils::` enthält neben den zu den Standardmodulen gehörenden Modulen noch weitere Module, z.B. einen Perl-Präprozessor. `CVS::` ist eine Schnittstelle zum Versionenverwaltungssystem CVS (concurrent versioning system).
`04_Operating_System_Interfaces` | Enthält Module für systemnahe Aufrufe und betriebssystemspezifische Funktionen. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Async::` enthält Funktionen für parallele Datenverarbeitung auf Rechnern mit "echtem Multitasking". `BSD::` enthält Funktionen speziell für Berkeley-Unix. Entsprechende Funktionen gibt es unterhalb von `MSDOS::`, `Mac::`, , `OS2::`, `Solaris::` usw. `Proc::` bietet Funktionen zur Kontrolle laufender Prozesse an. `Quota` erlaubt den Zugriff auf Systemdaten wie verfügbaren Festplattenspeicher, Arbeitsspeicher usw.
`05_Networking_Devices_IPC` | Enthält Module für die Netzwerk-Programmierung. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `CORBA` enthält Funktionen für die Nutzung der CORBA (Common Object Request Broker Architecture). `DCE::` enthält Module für Sicherheitsfunktionen nach DCE (Distributet Computing Environment). `IPC::` enthält Module, die über die IPC-Standardmodule hinausgehen und Funktionen zur Kommunikation zwischen Prozessen enthalten. `Net::` enthält Module, die über die Net-Standardmodule hinausgehen und Funktionen zur Kommunikation zwischen Prozessen auf verschiedenen Rechnern erlauben, unter anderem für DNS (Domain Name Service) oder Protokolle wie IRC (Internet Relay Chat) oder LDAP.
`06_Data_Type_Utilities` | Enthält Module für Datentypen, Datenstrukturen und wichtige Algorithmen. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Algorithms::` enthält Module, die mit Hilfe anerkannter Algorithmen arbeiten und Aufgaben realisieren wie das zufällige Auswählen von Daten oder das Berechnen von gerichteten Graphen. `Array::` enthält Module zur Manipulation von Listen. `Bit::` enthält Module zur Manipulation von Bitzeichenketten und für Bit-Operationen. `Class::` enthält Module, die bei der objektorientierten Programmierung unterstützen. `Data::` enthält Module zur Darstellung und Formatierung von Daten. `Date::` enthält Module für Datum- und Zeitrechnung nach verschiedenen Kalendern. `Graph::` enthält Module für Graphenberechnung. `Math::` enthält Module, die über die Math-Standardmodule hinausgehen und mathematische Funktionen bereitstellen, etwa für Fraktalberechnung, Approximationsberechnung, Integralrechnung, Matritzenrechnung und Zufallszahlengenerierung. `Set::` enthält Module zur Implementierung logischer Mengen. `Statistics::` enthält Module für verschiedene Arten statistischer Berechnungen, z.B. für Berechnung von Mittelwerten, Standardabweichung, maximaler Entropie und linearer Progression. `Tie::` enthält Module für verschiedene Bindungen von Variablen an Objekte, z.B. zum Realisieren eines Timers (zeitliche Intervallabfrage), Cache-Verwaltung, Datenbankzugriffe, oder Umleitung des Standardkanals STDERR an ein Programm, z.B. ein E-Mail-Programm. `Time::` enthält Module zur Berechnung von Zeitangaben, z.B. für mikrosekundengenaue Angaben, julianisches Datum und Zeitzonen. `Tree::` enthält Module für baumartige Datenstrukturen, z.B. für B-Bäume oder AVL-Bäume.
`07_Database_Interfaces` | Enthält Module für die Kommunikation mit bekannten Datenbanksystemen. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `DBD::` enthält Module, die als Treiber für die datenunabhängige Schnittstelle DBI fungieren. Über DBI ist z.B. der Zugriff auf Datenbanksysteme wie Adabas, DB2, Informix, Oracle, Ingres, MySQL, QBase oder Sybase möglich. Auch ODBC-Treiber sind enthalten. `Metadata::` enthält Module, die bekannte Metadatenformate für Suchsysteme unterstützen.
`08_User_Interfaces` | Enthält Module zum Programmieren von Benutzeroberflächen mit Perl. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Cdk` und `Curses`: enthalten Funktionen für die bekannte, textmodus-orientierte Benutzeroberfläche Curses. `Emacs::Lisp` bietet eine Schnittstelle zum programmierbaren Texteditor Emacs an. `Term::` enthält Module zur Ansteuerung von textmodus-orientierten Terminals an. Enthalten sind Funktionen für Farbdarstellung, Tastaturkürzel und erweiterte Editierfunktionen. `Tk::` enthält Module, um graphische Oberflächen wie X11 (Unix) oder auch MS Windows zu bedienen.
`09_Language_Interfaces` | Enthält Module für die Integration anderer Programmiersprachen in Perl. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `C::` enthält Module zur Anbindung von C-Programmen und C-Bibliotheken. `Java` realisiert eine Java-Laufzeitumgebung für Perl. `Python` erlaubt das Einbetten von Perl-Code in Python-Programme.
`10_File_Names_Systems_Locking` | Enthält Module für die Verwaltung von Dateisystemen, Dateinamen und Sperren benutzter Dateien. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `File::` enthält Module, die über die File-Standardmodule hinausgehen und Funktionen für Backups, Dateibeschreibungen, Dateizugriffszähler oder beschleunigtes Laden von Dateien in den Arbeitsspeicher anbieten. `FileSys::` enthält Module, die Systeminformationen wie z.B. freien Speicherplatz abfragen.
`11_String_Lang_Text_Proc` | Enthält Module für die Zeichenkettenverarbeitung und für Textverarbeitung. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Font::` enthält Module, die sich mit Schriftartenmetrik und Schriftartformaten wie TrueType und Adobe Fonts befassen. `Lingua::` enthält Module, die sich mit der Semantik und Grammatik natürlicher Sprachen befassen, z.B. Konvertierung von Zahlen in Zahlenwörter, Konjugation von Verben, Pluralbildung von Substantiven usw. `Parser::` enthält Module, die bekannte künstliche Sprachen interpretieren. `RTF::` enthält Module, die das RTF-Format (Rich Text Format) interpretieren und z.B. in Text oder HTML konvertieren. `SGML::` enthält Module zum Parsen von SGML-Dateien. `String::` enthält Module für erweiterte Zeichenkettenverarbeitung, z.B. approximative Suche, Bitzahlermittlung, CRC (Cycling Redundancy Checks) usw. `Text::` enthält Module für zeilenübergreifende Texte und Textformate, z.B. zum Formatieren von Text, zum Parsen von CSV-Dateien (Comma Separated Values) usw. `XML::` enthält Module zum Parsen von XML-Dateien.
`12_Opt_Arg_Param_Proc` | Enthält Module zum Auslesen von Konfigurationsdateien. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `ConfigReader` liest verschiedene Konfigurationsdateien aus. `Getopt::` enthält Module, die über die Getopt-Standardmodule hinausgehen und Kommandozeilenoptionen beim Aufruf des Perl-Interpreters analysieren. `IniConf` liest Konfigurationsdateien im Windows-typischen ini-Format.
`13_Internationalization_Locale` | Enthält Module für das Arbeiten mit internationalen Kodierungen. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Cz::` enthält Module zum Verarbeiten tschechischer Texte. `I18N::` enthält Module zum Ordnen von Kodierungsnamen nach IANA-Standard und für Länderkürzel nach RFC 1766. `Locale::` enthält Module zur Behandlung sprachlich lokaler Besonderheiten, z.B. Länderidentifikation nach den Länderkürzeln von RFC 1766 und für Unicode-Kodierung von Texten.
`14_Security_and_Encryption` | Enthält Module für die Verschlüsselung von Daten und für Authentifikation. Achtung: Beachten Sie vor dem Download solcher Module eventuell bestehende kryptografische Einschränkungen in Ihrem Land! Der Erwerb von Quellcode mit unerlaubten Verschlüsselungsverfahren kann strafbar sein - leider. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Authen::` enthält Module für Authentifikation, z.B. für SecureID/ACE-Karten, MD5-basiertes Challenge-Response-Protokoll oder die SAMBA-Authentifikation an Windows-NT-Servern. `Crypt::` enthält Module für die Datenverschlüsselung, z.B. nach dem Verschlüsselungsstandard DES (Data Encryption Standard), nach MD5-Standard usw. `PGP::` enthält Module zum Ansprechen des PGP-Programms (Pretty Good Privacy).
`15_World_Wide_Web_HTML_HTTP_CGI` | Enthält Module für CGI-Scripts, HTTP-Verbindungen und HTML-Erzeugung. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Apache::` enthält Module, die zumeist Erweiterungen für das mod_perl-Modul des Apache-Webservers bereitstellen. mod_perl ist ein Perl-Interpreter, der innerhalb eines Apache-Prozesses läuft und das Ausführen von Perl-Scripts im Zusammenhang mit CGI stark beschleunigen kann. Voraussetzung für die Module ist eine Apache-Installation mit mod_perl-Modul. Die Module bieten Funktionen für Authentifikation, Zugang zu den Logging-Funktionen von Apache, Redirects, Server Side Includes, Informationen zum Status einer Verbindung zwischen Server und Browser, Zugriff auf die von Apache ermittelte Anzahl übertragener Bytes und Dateizugriffe usw. `CGI::` enthält Module speziell für CGI-Scripts, die über den Umfang des CGI-Standardmoduls hinausgehen, z.B. Module für das Zwischenspeichern von CGI-Anforderungen in einem Cache, für die Erzeugung von HTML-Code für den Browser, zur Verwaltung serverseitiger verweis-sensitiver Grafiken usw. `LWP::` enthält Module zur Kommunikation mit anderen Webservern, z.B. zum Einlesen von HTML-Dateien, die auf fremden Servern liegen. `MIME::` enthält Module für MIME-Typen. Enthalten sind z.B. Module zum Umwandeln von 8-Bit-Text 7-Bit-Text nach Base64-Standard und zum Parsen von MIME-Angaben. `Netscape::` enthält Netscape-spezifische Module, z.B. zum Analysieren des Cache-Speichers oder der gespeicherten History des Netscape-Browsers. `URI` zerlegt einen URI in seine Einzelzeile. `WWW::` enthält Module für einen einfachen Such-Robot und zur Interaktion zwischen Perl-Script und bekannten Suchmaschinen im Web.
`16_Server_and_Daemon_Utilities` | Enthält Module zum Programmieren eigener Server. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Event::` enthält Module für Server, die auf Ereignisse reagieren. `Netserver::` enthält Module für verschiedene Server, z.B. für HTTP und SMTP.
`17_Archiving_and_Compression` | Enthält Module für die Archivierung und Komprimierung/Dekomprimierung von Dateien in und aus bekannten Packformaten. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Archive::Tar` kann tar-Archive, wie sie unter Unix üblich sind, lesen und schreiben. `Compress::` enthält Module für verschiedene Kompressions-Algorithmen für bzip, LZO und Zlib. `Convert::` enthält Konvertierungsmodule, z.B. für Konvertierungen zwischen ASCII- und EBCDIC-Kodierung, zur Konvertierung von Zahlen in bestimmte technische Schreibweisen, zum Dekodieren von UU-kodierten Daten usw.
`18_Images_Pixmaps_Bitmaps` | Enthält Module für Bild- und Videoformate. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Chart::` enthält Module zum Erzeugen von Linien, Balken und kompletten Darstellungs-Charts und deren Export in eine GIF-Datei. `Image::` enthält Module zum automatischen Download von Grafiken aus dem Netz, zum Auslesen wichtiger Kopfdaten aus Grafikformaten wie GIF, JPEG, PNG, TIFF, XPM, XBM, PGM und PBM, sowie zum Anwenden von Filtern auf Pixelgrafiken, z.B. zum automatischen Drehen einer Grafik oder zum Vergrößern/Verkleinern. `OpenGL` erlaubt den Zugriff auf die OpenGL-Bibliothek, die Funktionen für dreidimensionale Texturen, Projektionen usw. bereitstellt. `VRML::` enthält Module für VRML-Code.
`19_Mail_and_Usenet_News` | Enthält Module für E-Mails und den Zugriff auf News-Server. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Mail::` enthält Module zum Realisieren eines E-Mail-Clients mit Perl, zum Filtern von E-Mails, und zum Versenden von E-Mails über SMTP (sendmail-Funktion). `News::` enthält Module zum Weiterleiten von E-Mails an eine Newsgroup oder zum Weiterleiten von News an eine E-Mail-Adresse, zum Realisieren eines News-Clients mit Perl, und zum Erzeugen von News-Artikeln.
`20_Control_Flow_Utilities` | Enthält Module zur Kontrolle des laufenden Perl-Scripts. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `AtExit` stellt eine Funktion bereit, die automatisch beim Beenden eines Scripts aufgerufen wird. `Memoize` beschleunigt das Ausführen von Funktionen und kann Parameter und Rückgabewerte einer Funktion in einer Datei speichern.
`21_File_Handle_Input_Output` | Enthält Module für Ein-/Ausgabefunktionen mit Handles. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Expect` stellt Funktionen zum Steuern dialogorientierter Programme bei. `FileHandle::Multi` kann in mehrere Ausgabekanäle bzw. Dateien gleichzeitig schreiben. `IO::` enthält neben den IO-Standardmodulen zusätzliche Module, z.B. um Zeichenketten mit Handles zu verknüpfen, oder zum Setzen von stty-Terminalparametern. `Log::` enthält Module zum Lesen und Schreiben von Log-Dateien. So lassen sich z.B. Einträge in die Logfiles des Webservers oder in selbst definierte Logfiles schreiben.
`22_Microsoft_Windows_Modules` | Enthält Module für MS-Windows-Systeme ab Windows 95. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Win32::` enthält Module für Windows-spezifische Netzwerkfunktionen, für RAS-Server, OLE-Verknüpfungen usw. `Win32API::` enthält Module für den Registry-Zugriff, den Zugriff auf serielle Schnittstellen unter Windows, und für die Laufwerks- und Dateiverwaltung unter Windows.
`23_Miscellaneous_Modules` | Enthält Module für verschiedene Aufgaben, die anderweitig nicht einzuordnen sind. Eine Fundgrube also! Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `Agent::` enthält Module, mit deren Hilfe sich mit Perl ein intelligenter Software-Assistent realisieren lässt, der bestimmte Aktionen selbständig durchführt, Daten filtert usw. `Archie::` enthält Module zum Abfragen eines Archie-Servers. `Audio::` enthält Module zum Bearbeiten von Audio-Dateien, z.B. WAV-Dateien. `Business::` enthält Module für den Geschäftsverkehr, z.B. für Kreditkartenwesen. `Games::` enthält Module für Spiele, z.B. für Schach. `MIDI::` enthält Module zum Erzeugen und Bearbeiten von MIDI-Dateien mit Hilfe von Perl. `Watchdog:` enthält Module zum Überprüfen, ob Webserver oder MySQL-Datenbankserver noch laufen.
`24_Commercial_Software_Interfaces` | Enthält Module für die Kommunikation zwischen Perl-Programmen und kommerziellen Software-Produkten. Einige interessante Module/Modulgruppen dieses Unterverzeichnisses sind: `AltaVista::` enthält Module für den Zugriff auf die Suchmaschine von AltaVista. `R3::` enthält Module für den Zugriff auf Funktionen des RFCSDK (Software Development Kit des R3-Pakets von SAP). `Real::` enthält ein Modul zum Zugriff auf RealMedia-Datenströme (RealAudio, RealVideo).
`99_Not_In_Modulelist` | Enthält Module, die nicht in der offiziellen Modul-Liste des CPAN-Verzeichnisses enthalten sind.

## Module aus dem CPAN-Verzeichnis downloaden und installieren

Die Verzeichnisse mit Modulen enthalten jeweils zu jedem Modul eine Datei mit der Endung .readme und eine Datei mit der Endung .tar.gz. Die readme-Datei ist eine Textdatei, der Sie vorab Details zum jeweiligen Modul entnehmen können. Die tar.gz-Datei ist eine nach dem GNU-Zip-Verfahren komprimierte tar-Datei, also eine Archivdatei. GZip und tar sind typische Werkzeuge aus der Unix-Welt. Um die Dateien unter anderen Betriebssystemen, etwa unter Windows zu entpacken, benötigen Sie ein Entpack-Programm für gzip-Dateien. Im Link-Verzeichnis des Online-Angebots von SELFHTML aktuell finden Sie eine Produktübersicht mit Links zu Anbietern von solchen Programmen:

SELFHTML-Linkverzeichnis: Pack- und Entpack-Programme

Auf Unix-Systemen können Sie eine gezippte Archivdatei (im folgenden am Beispiel der Datei Algorithm-SISort-0.10.tar.gz) mit folgendem Befehl entpacken:

`tar -zxf Algorithm-SISort-0.10.tar.gz`

Falls dies nicht funktioniert, sollte der folgende zusammengesetzte Befehl funktionieren:

`gzip -cd Algorithm-SISort-0.10.tar.gz | tar -xf -`

Anschließend befinden sich die entpackten Dateien in einem Unterverzeichnis mit dem gleichen Namen wie das Modul, im Beispiel also etwa einem Verzeichnis namens Algorithm-SISort-0.10.

Wenn Sie das Modul nicht auf dem eigenen Rechner installieren wollen, sondern auf einem Rechner im Internet, wo Sie Web-Speicherplatz gemietet haben, benötigen Sie einen Telnet- oder SSH-Zugang zu dem Rechner, um das Modul dort installieren zu können. Ferner benötigen Sie die Rechte, um in die Modulverzeichnisse von Perl Dateien kopieren zu können. Fragen Sie dazu gegebenenfalls Ihren Provider! Wenn es sich bei dem Server-Rechner um einen Rechner mit einem Unix-Betriebssystem handelt, können Sie die tar.gz-Datei des Moduls zunächst auf Ihren Rechner downloaden, dann auf Ihren Server-Rechner uploaden und die Datei dort am Shell-Prompt, den Sie bei Zugang über Telnet oder SSH erhalten, mit den oben genannten Befehlen entpacken.

Nach dem Entpacken der tar.gz-Datei des Moduls muss das Modul installiert werden. Wechseln Sie dazu in das Verzeichnis der entpackten Dateien. Meistens finden Sie dort eine Datei namens README oder INSTALL, in der unter anderem Informationen zum Installieren des Moduls stehen.

Unter Unix müssen Sie nun am Shell-Prompt folgende Befehle eingeben:

`perl Makefile.PL`

Mit diesem Befehl wird eine Datei mit Installationsinformationen erzeugt. Gegebenenfalls müssen Sie beim Aufruf von `perl` den Pfad zur ausführbaren Datei des Perl-Interpreters angeben.

`make`

Mit diesem Befehl wird die Installation vorbereitet - die Dateien werden für Ihr System kompiliert.

`make test`

Mit diesem Befehl wird die Installationsvorbereitung getestet. Wenn Sie sicher sind, dass Sie alles richtig konfiguriert haben, können Sie diesen Schritt auch weglassen.

`make install`

Mit diesem Befehl wird die Installation durchgeführt.

Führen Sie diese Befehle unbedingt in der angegebenen Reihenfolge aus, wenn Sie ein Perl-Modul installieren! Das Modul ist dann in einem Modulverzeichnis installiert. Weitere Informationen, wie Sie das Modul benutzen, finden Sie in der hoffentlich vorhandenen Datei README oder INSTALL.

Unter anderen Systemen wie Windows, wo Sie normalerweise Zugang zu allen Verzeichnissen auf dem Rechner haben, kopieren Sie einfach den Inhalt des Unterverzeichnisses lib, das nach dem Entpacken existieren sollte, in das Verzeichnis lib unterhalb des Installationsverzeichnisses von Perl, sofern es sich um ein reines Perl-Modul handelt. Wenn das Modul mit C-Erweiterungen arbeitet, benötigen Sie einen C-Compiler, oder Sie benutzen das in der ActivePerl-Distribution mitgelieferte Tool ppm, um eine bereits kompilierte Version des Moduls zu installieren.

### Beachten Sie:

Falls Sie aufgrund fehlender Rechte auf einem Server-Rechner nicht die Möglichkeit haben, Module aus dem CPAN-Verzeichnis in die Modulverzeichnisse von Perl zu installieren, können Sie es auch in ein Verzeichnis Ihrer Wahl installieren. Also in ein Verzeichnis, auf das Sie selber Zugriff haben. Ohne einen Shell-Prompt, wie er bei Telnet oder SSH zur Verfügung steht, kommen Sie jedoch nicht aus.

Legen Sie dazu zunächst das Verzeichnis mit dem gewünschten Namen an der gewünschten Stelle in Ihrem Verzeichnisbaum an. Stellen Sie danach sicher, dass Sie sich im Verzeichnis des entpackten Perl-Moduls befinden. Geben Sie dann der Reihe nach folgende Befehle ein:

`perl Makefile.PL LIB=[Pfad zum Verzeichnis]
make
make test
make install`

Bei `[Pfad zum Verzeichnis]` müssen Sie das zuvor angelegte Verzeichnis korrekt adressieren. Angenommen, Sie haben die Moduldateien aus Sicht Ihres Homepage-Startverzeichnisses in tmp/Algorithm-SISort-0.10 entpackt, und das Modul soll in cgi-bin/perlmodule/Algorithm-SISort-0.10 installiert werden. Dann müssen Sie, wenn Sie sich im Verzeichnis tmp/Algorithm-SISort-0.10 befinden, eingeben:
`perl Makefile.PL LIB=../../cgi-bin/perlmodule/Algorithm-SISort-0.10`

| Modul CGI: Funktionen für die CGI-Programmierung
| Standardmodule von Perl

© 2007 Impressum