| Wie alle modernen Programmiersprachen ist Perl modular aufgebaut. Die Grund-Version enthält (nur) die allgemein verwendeten Teile der Sprache. | Zu Perl gibt es eine besonders große Anzahl spezialisierter Module. Die Module sind meist kostenfrei im Internet verfügbar und erweitern die Funktionalität von Perl. |
Perl
|
Scripts für CGI und Systemverwaltung, Perl-Umgebung |
| Module | Erweiterung der Funktionalität mit spezialisierten Modulen |
| @INC | Include-Pfade im Array @INC |
| ExtUtils | Liste der geladenen Perl-Module |
| Linux | Perl-Module auf Linux |
| Webprovider | Perl-Module beim Web-Provider |
| De-Installation | Entfernung installierter Perl-Module |
| Windows | Perl-Module auf Windows (PPM) |
| Dokumentation | Die umfangreiche Perl Dokumentaton |
| Verwandte Themen | Perl-Installation auf Windows, Perl-Arrays und Hashes, Perl @ Win-Registry, Umgebungs-Daten in PHP und VBA |
Perl-Module |
|
|
Die Funktionalität von Perl kann durch eine besonders große
Anzahl spezialisierter Module erweitert werden. Dadurch bleibt die
Programmiersprache kompakt, lässt sich jedoch trotzdem an sehr
spezielle Bedürfnisse anpassen. Fast alle Module sind kostenfrei im Internet verfügbar. |
Versierte EntwicklerInnen können (in der Programmiersprache C++) selbst ein Perl-Modul herstellen. Da die Module nicht von einer zentralen Stelle zwangsweise verwaltet werden, gibt es für einige Fachgebiete mehrere Module, die einander teilweise überschneiden. Das ist für AnfängerInnen ungewohnt, jedoch typisch für offene Entwicklungen, und in der Praxis kein Problem. |
PurePerl oder Compiliert ?Man kann Perl-Module auf unterschiedliche Weise beziehen oder herstellen.PurePerl Module sind selbst in Perl programmiert. Diese Module sind portabel, jedoch meist etwas langsamer. |
Compilierte Module sind in der Programmiersprache C++ erstellt und danach compiliert (= in ausführbare Programme in Maschinen-Code umgewandelt). Diese Module laufen sehr schnell, sind jedoch nicht portabel. |
Linux oder Windows ?Compilierte Perl-Module sind Teile von ausführbaren Programmen und werden daher für jedes Betriebssystem eigens hergestellt.Diese Perl-Module sind im Gegensatz zu Perl Script-Programmen nicht portabel. |
Aus historischen und praktischen Gründen werden für die beiden am häufigsten verwendeten Betriebssysteme Linux und Windows unterschiedliche Methoden zur Installation von Modulen verwendet. |
DokumentationEine Besonderheit von Perl ist die genau angepasste Dokumentation. Eine Gesamt-Doku (wie z.B. für → PHP) wäre wegen der großen Zahl der Module sehr umfangreich und unhandlich.Daher bringt jedes Perl-Modul seine eigene Doku mit. |
Bei sauberer Installation enthält die individuell aufgebaute Perl-Doku neben den allgemeinen Informationen die Doku zu genau den installierten Modulen. Die Perl-Doku ist ausgezeichnet, jedoch für AnfängerInnen ungewohnt organisiert. Es erfordert etwas Übung, um die gesuchte Information rasch zu finden. |
RechercheGerade wegen der großen Zahl verfügbarer Module ist die Auswahl eines Moduls für AnfängerInnen nicht einfach. |
Tipp: Suchen sie im Internet nach Kombinationen der Stichworte perl und ihrer gesuchten Themen. Dabei findet man viele praktische Programm-Beispiele. Das verwendete Modul finden sie meist am Anfang der Programme in einer Zeile, die mit use oder require beginnt. Wenn sie sich für ein Modul entschieden haben, beachten sie die unterschiedliche Installation je nach Betriebssystem. |
Include-Pfade |
|
|
Das Perl-Interpreter-Programm sucht in bestimmten Pfaden nach benötigten
Komponenten (z.B. für require ).
Die Liste der Pfade ist im vordefinierten
→
Array @INC verfügbar. ► Hier ist der Pfad zur Perl Standard-Library enthalten. Im gleichen Pfad kann man zusätzliche externe → Module installieren. ► Das aktuelle Arbeits-Verzeichnis cwd (current working directory) ist ebenfalls immer enthalten, bezeichnet mit einem einzelnen Punkt. Es bezeichnet ohne weitere Maßnahmen immer jenes Verzeichnis, in welchem sich das Script-Programm befindet, kann jedoch von diesem selbst geändert werden. Es ist daher in jedem Perl-Script möglich, ein weiteres Script aus dem gleichen Verzeichnis zu laden, in dem es sich selbst befindet. ► Mit Commandline-Option -I können beim Aufruf von Perl-Scripts (mehrere) zusätzliche Pfade angegeben werden. |
$na = $#INC + 1;
print "$na Include-Pfade\n"; $i = 0; foreach $a (@INC) {
print "INC[$i] = $a\n";
}
$i++; |
|
Include-Pfade haben Bedeutung für die Perl-Funktionen zur Einbindung
externer Module: do(), require, use() Zusätzliche Pfade lassen sich mit Funktion push live einbinden. Perl-Module haben normalerweise Datei-Namen *.pm |
Alle (!) Perl-Module *.pm in diesem Pfad einbinden:
$zusatzpfad = 'home/test/perl_module';
push(@INC,$zusatzpfad); |
| Perl-Module sollten sich in einem der Include-Pfade befinden. | Die Perl → Commandline-Option -V liefert u.a. alle Elemente von Array @INC |
Geladene Zusatz-Module: ExtUtils |
|
ExtUtilsDieses Modul erzeugt u.a. eine Liste extern installierter Module - Das sind Module, die in einem der @INC-Pfade (s.o.) installiert wurden.Methode modules liefert ein Array mit den Modul-Namen, Methode version die dazugehörende Version. Das Beispiel gibt eine Liste der installierten Module und in () ihrer Version aus. Unbekannte Versionen werden mit ??? angezeigt. ♦ Details zum Modul ExtUtils in der Perl-Doku unter . |
use ExtUtils::Installed;
print "ExtUtils: module (version)\n"; my $imods = ExtUtils::Installed->new(); my ($module,$version); foreach $module ($imods->modules()) {
$version = $imods->version($module) || '???';
}
print "$module ($version)\n"; |
|
Achtung ! - Damit werden nur die externen Perl-Module
erfasst ! Auf Linux wird Perl meist zusammen mit den ausgewählten Modulen zu einem einzigen Programm compiliert - In diesem Fall zeigt die Liste lediglich das Perl-Programm und keine externen Module an ! ♣ Dieses Programm braucht auf Windows-Systemen (zahlreiche Module) mehr Arbeitszeit als typische Perl-Programme (einige Sekunden !). |
|
Datei-ListeDas Modul ExtUtils bietet weitere nützliche Funktionen. Das Beispiel rechts zeigt, wie man die Dateien jedes externen Moduls findet.Das Modul (hier "Astro" in der Variablen $mod) muss als externes Modul installiert sein, ansonsten wird eine Fehlermeldung ausgegeben. In der ersten Schleife werden alle beteiligten Verzeichnisse ausgegeben, in der zweiten Schleife alle Dateien. Danach wird die PackListe des Moduls ausgegeben. Zusätzlich ist jedes installierte Modul in der Datei perllocal.pod angeführt, die sich in einem @INC-Pfade befindet. Diese Text-Datei kann man lesen, sie sollte jedoch nicht manuell geändert werden. |
#!/usr/bin/perl
use ExtUtils::Installed;use ExtUtils::Packlist; my $mod = 'Astro'; my $inst = ExtUtils::Installed->new(); my $item; foreach $item($inst->directories($mod)) { print "dir=$item\n";
}foreach $item(sort($inst->files($mod))) { print "file=$item\n";
}$item=$inst->packlist($mod)->packlist_file(); print "packfile=$item\n"; |
PerlDocDas Konsolen-Programm Programm perldoc ist zusammen mit Perl auf allen gängigen Linux-Distributionen installiert.Man kann es verwenden, um eine Liste der installierten Perl-Module anzuzeigen. Die Anzeige erfolgt im Manual-Format, d.h. • Die Navigation im Dokument erfolgt mit den Pfeil-Tasten. • Das Programm wird mit Taste q (für quit) beendet. |
Anzeige jener Module, die zusammen mit Perl (vor-installiert) wurden:
# perldoc perlmodlib
Anzeige jener Module, die manuell 'nachgeladen' (compiliert) wurden: # perldoc perllocal
Diese Liste ist nach Datum und Zeit der Installation geordnet.
|
PerlPerl kann als Konsolen-Programm die Version eines installierten Moduls feststellen. Das Modul wird mit Option -M angegeben.Das Beispiel funktioniert auf Linux ebenso wie auf Windows. |
Anzeige der Version eines installierten Moduls an der Konsole, am 2 Beispielen:
# perl -MCGI -e
'print "$CGI::VERSION\n"'
Der Modul-Name kommt 2mal vor: Zuerst nach der Option -M,
danach in der print-Anweisung. Sub-Module
(z.B. Net::Ping) werden mit ihrem kompletten
Stammbaum angeführt.# perl -MNet::Ping -e 'print "$Net::Ping::VERSION\n"' Das Ergebnis ist die Versions-Nummer des Moduls, oder eine Fehlermeldung, wenn das Modul nicht installiert ist. |
Perl-Module auf Linux |
|
Installations-CDErste Wahl für Perl-Module ist die Installations-CD/DVD ihrer Linux-Distribution. Das ist einfach auszuführen, und funktioniert rasch und sicher.Die meisten Linux Distributionen installieren Perl-Module nicht extern, sondern erzeugen eine 'maßgeschneiderte' Perl-Version nach ihren Angaben. Dazu wird das Perl Interpreter-Programm gemeinsam mit allen gewünschten Modulen aus dem Quelltext (source) compiliert. In diesem Fall gibt es keine externen Module, daher liefert die oben vorgestellte Methode mit ExtUtils nur einen einzigen Eintrag für Perl |
Professionelle Linux-Distributionen bieten einen Paket-Manager, welcher die gesamte installierte Software verwaltet, darunter auch die Perl-Module. Beispiel SuSE-Linux: Öffnen sie und wählen sie . Mehr Module finden sie bei . Die Liste zeigt alle Module der Distribution und (markiert) die installierten Module. Bei Anklicken eines nicht installierten Moduls wird Perl mit allen bisherigen und dem neuen Modul komplett neu compiliert. |
DistributorWenn ihre Linux-CD das gewünschte Perl-Modul nicht enthält, dann sehen sie im Web ihres Distributors nach.Suchen sie im Verzeichnis genau ihrer Linux-Version - Nur in diesem Fall garantiert ihr Distributor, dass die Version des Perl-Moduls genau zu ihrer installierten Perl Version passt. |
Die Installation erfolgt je nach Linux-Version unterschiedlich, meist jedoch ohne lange Fragen, ähnlich wie die Installation von CD/DVD. Auch in diesem Fall wird normalerweise das Modul in ihre individuelle Perl-Version integriert, es gibt daher keine externen Module. |
Perl-Module compilierenDiese Variante der Installation sollten sie wählen, wenn das gewünschte Modul weder von der Installations-CD noch vom Linux-Distributor angeboten wird.Auf Linux ist es durchaus üblich, Programme aus dem Quelltext selbst herzustellen. Das ist für Windows-AnwenderInnen ungewohnt, hat jedoch einige Vorteile: • Auf diese Weise wird ein Programm hergestellt, welches genau zum Betriebssystem und zu allen anderen darauf installierten Komponenten passt. Dazu genügt bei geschickter Programmierung ein einziger allgemein gehaltener Quelltext. Das macht die Programmierung einfacher, rascher und sicherer. |
Das Compilieren von Programmen setzt voraus, dass ein C++ Compiler installiert ist, d.h. ein Programm, welches den Quelltext der Programmiersprache C++ in ein ausführbares Programm übersetzt. • Jede gängige Linux-Distribution verfügt selbstverständlich über einen C++ Compiler. • Auf Windows ist kein C++ Compiler installiert. Die Verwendung des Microsoft C++ Compilers ist empfindlich teuer. Im Internet werden einige kostenfreie Compiler angeboten, die allerdings weniger Komfort bieten. |
Installations-PfadeWenn sie wissen wollen, wohin die Dateien eines Moduls installiert werden, dann geben sie diese Anweisung an der → Shell-Konsole:# perl '-V:install.*'
|
Die umfangreiche Ausgabe ist nur für Insider interessant - Oder zum Debuggen, wenn die Installation nicht funktioniert hat. |
Check-Liste zum Compilieren eines Perl-Moduls● Modul AuswahlBesorgen sie sich (z.B. von CPAN) das gewünschte Modul. Meist wählt man die neueste Version. Lesen sie unbedingt die fast immer beigefügte README Doku: Manchmal müssen sie aus Rücksicht auf eine ältere Perl-Version eine andere Version des Moduls wählen. ● Download Laden sie das Modul in ein beliebiges Verzeichnis, welches nur zum Auspacken dient. Es sollte zur Vereinfachung keine anderen Dateien enthalten, z.B. /home/ich/xtract/modul.tar.tar
Nach Installation und Test kann man dieses Verzeichnis komplett löschen.● Modul löschen ? Wenn das Modul bereits vorher installiert war (gleich welche Version), dann sollte das alte Modul gelöscht werden. Perl ladet bei Bedarf nicht die neueste oder zuletzt installierte Modul-Version sondern diejenige, welche es zuerst findet ! ● Auspacken Module werden normalerweise als *.tar Archive transportiert. Auf einem grafischen Desktop (Gnome, KDE): Icon rechts-klicken, Menü . Ansonsten starten sie eine → Shell-Konsole, Wechseln sie in das Download-Verzeichnis, z.B. # cd /home/ich/xtract
Packen sie das Archiv aus, z.B.
# tar -xvfpz modul.tar.tar
Normalerweise finden sie unter den ausgepackten Dateien nochmals
die README Doku. - Lesen zahlt sich aus !Tipp: Wenn sie öfters *.tar Archive auspacken, dann ist es praktisch, dafür eine → Alias-Anweisung anzulegen. ● Wechseln sie in das beim Auspacken erzeugte Unter-Verzeichnis (mit dem Namen und meist auch der Versions-Nummer des Moduls). Dort sollten sich u.a. folgende Dateien befinden: Makefile.PL, README, test.pl, ...
● Öffnen sie die Datei Makefile.PL mit einem Text-Editor. Die erste Zeile sollte so lauten: #!/usr/bin/perl
Wenn diese Zeile nicht vorhanden ist, dann funktioniert die Installation oft nicht.
In diesem Fall: Zeile einfügen, nochmal starten.
|
● Nach dem Auspacken wird das Modul compiliert. Folgen sie unbedingt den Anweisungen der README-Datei !
Neuere Module werden so meist compiliert:
# perl Makefile.PL
Ältere Module werden evtl. so compiliert:
# make
# make -f Makefile.PL
# make ● Danach wird das erzeugte Modul getestet. Dazu wird das meistens vorhandene Script-Programm test.pl ausgeführt. Damit wird das Modul noch vor der Installation lokal getestet: # make test
Der Befehl kann eine umfangreiche Ausgabe erzeugen - Normalerweise wird
jede einzelne Modul-Funktion mit typischen Argumenten getestet.Das Test-Programm kann man später als Muster zur Programmierung verwenden. ● Die Installation darf nur der Administrator ausführen. Wenn sie nicht als root angemeldet sind: # su
● Zuletzt wird die eigentlich Installation ausgeführt: # make install
Beachten sie die bei der Installation auf der Shell-Konsole ausgegebenen Texte !
Darin werden u.a. die Pfade der installierten Dateien angegeben. ● Kontrolle nach Installation: Das Modul sollte in der Liste extern geladener Module angezeigt werden. |
Installation beim Web-Provider |
|
Entwicklungs-ServerWenn sie bei der Entwicklung von Webseiten und Perl-Programmen über das AnfängerInnen-Niveau hinausgekommen sind, dann betreiben sie normalerweise einen → Entwicklungs-Server im eigenen lokalen Netzwerk (LAN). Dieser Webserver sollte so genau wie möglich die Bedingungen am Server ihres Web-Providers spiegeln.Am eigenen Entwicklungs-Server sollten daher genau jene Perl-Module installiert sein, welche auch ihr Web-Provider anbietet. Alle weiteren Perl-Module sollten nicht mit einer der oben angeführten Standard-Methoden installiert werden ! - Ansonsten funktionieren ihre Perl-Programme nur am eigenen Server, jedoch nicht im Internet. |
Portable ProgrammeWenn man in einem Perl-Programm spezielle Module verwendet, dann ist das Programm prinzipiell nicht mehr portabel. Seine Verwendung setzt die Installation des verwendeten Moduls voraus.Wenn ein Programm portabel sein soll, dann muss es ohne spezielle Module auskommen: Alle verwendeten Funktionen müssen darin enthalten sein und normalerweise selbst programmiert werden. Andererseits sind die vielen spezialisierten Module eine besondere Stärke von Perl. Wenn ein Programm nur am eigenen Server und beim eigenen Provider eingesetzt wird, dann ist der Einsatz passender Module ein großer Vorteil: Die Entwicklung braucht viel weniger Aufwand, das Programm läuft sicherer und meist auch rascher als bei Selbst-Programmierung. |
UserEs ist theoretisch möglich, Perl-Programme so zu erstellen, dass sie am eigenen Server die Standard-Installation verwenden und nur am Server des Providers ein spezielles Modul-Verzeichnis. Das ist jedoch wenig elegant und zieht viel spätere Arbeit nach sich.Besser werden alle weiteren Perl-Module in einem speziellen Pfad installiert, der am eigenen Server und am Provider-Server genau gleich lautet. |
Da sie am PC ihres Providers normalerweise kein Recht zur Installation haben, muss dieser Pfad in einem User-Verzeichnis liegen, z.B.: /home/ich/perl_modules
Dazu muss an ihrem eigenen Server ein User angelegt sein, dessen Name
genau gleich lautet wie ihr User-Name bei ihrem Provider.Den absoluten Pfad zu einem Perl-Programm erfahren sie mit der → Umgebungs-Variablen $ENV{'SCRIPT_FILENAME'} |
Installation in ein privates Verzeichnis● Voraussetzung: Sowohl am eigenen Server als auch am Server ihres Providers wurde ein Modul-Verzeichnis mit genau dem gleichen Pfad angelegt, z.B./home/ich/perl_modules
● Laden sie das Modul-Archiv aus dem Internet, speichern sie es in einem beliebigen Installations-Verzeichnis und packen sie das Archiv aus, so wie oben beim Compilieren beschrieben. ● Wechseln sie in das beim Auspacken erzeugte Sub-Verzeichnis. ● Ändern sie die Makefile-Anweisungen durch Bekanntgabe des Modul-Pfades LIB, z.B. # perl Makefile.PL LIB=/home/ich/perl_modules
Erzeugen sie die Modul-Dateien # make
Installieren sie die Modul-Dateien # make install
Kontrollieren sie das mit LIB angegebene Ziel-Verzeichnis: Darin sollte sich nun ein Sub-Verzeichnis mit dem Namen des Moduls befinden, darin die Modul-Dateien *.pm ♦ Details in der Doku des Moduls ExtUtils::MakeMaker |
Compiler-Anweisung use libDiese Anweisung kann man verwenden, um externe Module aus beliebigen Pfaden einzubinden, z.B.:
use lib '/home/ich/perl_module';
# use lib $path # Fehler !
use modul_name;
• Die Anweisung muss vor der use Anweisung des betreffenden Moduls stehen. Der Pfad muss als String (Text) im Quelltext enthalten sein, nicht als String-Variable ! Die Anweisung use lib wird bereits beim Compilieren ausgewertet, nicht erst zur Laufzeit (RunTime). Zu diesem Zeitpunkt haben die Variablen jedoch noch keine Werte. ♣ Der Pfad wird relativ (zur aktuellen Programm-Datei) oder besser absolut (ähnlich wie im Beispiel) angegeben. Achten sie auch in diesem Fall darauf, das Modul am eigenen Server genau im gleichen Pfad einzurichten wie beim Web-Provider. Andere Pfade sind möglich, verursachen jedoch meist viel Arbeit: Man vergisst, die Pfade jedesmal vor dem Upload zu ändern. |
Perl-Module auf Windows |
|
| Auf Windows werden Perl Module aus praktischen Gründen meist anders installiert. Da nur selten ein C++ Compiler installiert ist, müssen fertig compilierte Programm-Teile transportiert und installiert werden. | Damit auch in diesem Fall nur zueinander passende Module installiert werden, sorgt ein eigenes Programm (PPM) für die Modul-Koordination. |
Perl PfadeBei der Installation von Perl auf Windows wählt man sinnvoll diesen Pfad:C:\Programme\Perl
In diesem Fall befinden sich die ausführbaren Programme und Scripts (perl.exe, ppm.bat, ...) hier: C:\Programme\Perl\bin
|
Der Pfad zu den externen Modulen:
C:\Programme\Perl\lib
C:\Programme\Perl\site\lib Die Dokumentation C:\Programme\Perl\html
sollte keinesfalls an einen anderen Pfad verschoben werden !
|
PPMDer Perl Package Manager verwaltet die (auf Windows) installierten Module und installiert weitere Module (inkl. Doku) von entfernten Servern aus dem Internet. |
Der PPM wird sowohl in einer Fenster-Version als auch in einer Konsolen-Version geliefert. Vorsicht - Es ist möglich, dass die Versionen teilweise unterschiedlich reagieren. |
PPM - Weg ins InternetDer PPM muss den Weg ins Internet finden. Wenn ihr PC über einen → Router (Proxy-Server) mit dem Internet verbunden ist, dann erzeugen sie eine → Umgebungs-Variable HTTP_proxy mit → IP-Adresse und → Port des Routers, z.B.:C:\> set HTTP_proxy=192.168.0.1:8080
Ändern sie IP-Adresse und Port nach Bedarf. Tipp: Sämtliche beteiligten Firewalls (PC, Router) müssen den Daten-Verkehr mit PPM zulassen. ♦ Details zur Installation von Perl auf Windows |
PPM - PfadeDer Perl Package Manager PPM liefert Auskunft über Pfade zu Perl-Modulen:C:\> ppm area list
Installierte Zusatz-Module (compiliert / nachträglich installiert) befinden sich auf Windows hier:
C:\Programme\Perl\lib
C:\Programme\Perl\site\lib |
RepositoryDas Inventar eines entfernten Servers an Perl-Modulen wird als Repository bezeichnet. Bei Installation (von ActivePerl) ist normalerweise das Repository von ActiveState bereits angegeben.Von bereits registrierten Repositories kann man Perl-Module laden: C:\> ppm repo list
|
Weitere Repositories kann man so registrieren:
C:\> ppm repo add http://theoryx5.uwinnipeg.ca/ppms
C:\> ppm repo add http://www.bribes.org/perl/ppm |
Perl-(Windows)-ModuleEine Liste von >6500 fertig compilierten Modulen finden sie u.a. beim Hersteller ActiveState, an der Univ. Winnipeg, bei Bribes, ...♥ Auf Win32PerlOrg wird eine Liste von Repositories geführt. So wird die Fenster-Version von PPM gestartet: C:\> ppm
Warten sie danach, bis PPM bereit zur Arbeit ist. Das kann einige Minuten dauern !Markieren sie die gewünschten Module zur Instrallation. Befehlen sie die eigentliche Installation, wenn alle Module für eine Aufgabe markiert sind. Die Installatio und Oreganisation dauert eine Weile. Markieren sie nicht zu viele Module - Wenn einzelne davon nicht kompatibel sind, dann müssen sie den gesamten Vorgang wiederholen. |
▼
Achtung - Einige Module (z.B. das wichtige Grafik-Modul GD) werden im
ppm-Fenster nicht angezeigt ! Man kann sie nur mit der Konsolen-Version von ppm laden, z.B. C:\> ppm install http://theoryx5.uwinnipeg.ca/ppms/GD.ppd
Unabhängig davon werden im Internet einige weitere Perl-Werkzeuge (tools) angeboten, die u.a. als Paket-Manager arbeiten. |
| Unabhängig davon ist es auch auf Windows möglich - wenn auch nicht üblich - aus dem Quelltext Module zu compilieren. | Das ist wenig üblich, weil man dazu einen C++ Compiler braucht, und dieser auf Windows nur selten installiert ist. Das Compilieren erfolgt praktisch genauso wie für Linux beschrieben. |
Perl auf mehreren Windows-PCWer einmal Perl auf Windows verwendet hat, möchte es meistens auf allen PC des lokalen Netzwerks installieren. Das kann langwierig werden, wenn man die komplette Installation inklusive aller Module einzeln durchführt.Gleiche Perl Grundversion
Installieren sie (mindestens auf allen PC mit dem gleichen Betriebssystem)
genau die gleiche Perl Grundversion. Diese Arbeit macht keine Probleme
und kostet nicht viel Zeit. Achten sie darauf, Perl überall im
gleichen Pfad zu installieren, z.B.
C:\Programme\Perl
Perl Module
Installieren sie die zusätzlich gewünschten Perl-Module nur
an einem einzigen PC. Das wird immer zeitraubender, je mehr Module bereits
installiert sind.Dieser PC braucht einen funktionierenden Internet-Zugang, der auch die Installation von Perl-Modulen erlaubt (Firewall). |
Perl-Kopie
Anschließend kann man das gesamte Perl-Verzeichnis (Ordner) auf
jeden anderen PC kopieren. Dabei wird das dort installierte Verzeichnis
einfach ersetzt. Der Transport kann über das Netzwerk oder auf einem
USB-Stick erfolgen. Bei Platzmangel kann man das gesamte Verzeichnis
problemlos in ein Archiv (z.B. *.zip ) verpacken.♣ So kann man Perl + Module auch auf PC installieren, deren Firewall das nicht zulässt, oder die überhaupt keinen Internet-Zugang haben. Bei Installation oder Update von Modulen verfährt man ähnlich. ● Pure-Perl Module sind darüber hinaus nur selten an eine bestimmte Version gebunden: Man kann diese Module meist sogar zwischen verschiedenen Perl-Versionen, Windows-Versionen und sogar zwischen Linux und Windows transportieren. In diesem Fall setzt man die Kopie jedoch besser nicht in die Standard-Pfade ein, sondern in ein eigenes Verzeichnis für zusätzliche externe Module. |
Perl Dokumentation |
|
|
Eine Dokumentation für Perl und alle
verfügbaren Module wäre wegen der enormen Zahl verfügbarer
Module sehr umfangreich und kaum jemals aktuell. Daher enthält die Doku
anfangs nur allgemeine Angaben zu Perl (immer noch umfangreich). Jedes installierte Modul bringt seine eigene Dokumentation mit und integriert sie in die Perl-Dokumentation. Daher ist jede einzelne (individuelle) Perl Doku auf dem aktuellen Stand, d.h. sie enthält Angaben zu allen installierten Modulen, und zwar genau zur installierten Version. |
perldocAuf Linux ist die Doku im üblichen Manual-Format installiert:# perldoc
Liste aller installierten Perl-Module: # perldoc perllocal
Dabei wird die Text-Datei perllocal.pod ausgegeben,
die man auch direkt öffnen kann. Sie befindet sich im
Verzeichnis /usr, der Pfad variiert je nach System.
Auf SuSE Linux derzeit hier:
/usr/lib/perl.../i586-linux.../perllocal.pod
|
HTML-DokumentationAuf Windows wird die Doku auf Webseiten installiert.Perl-Doku nicht verschieben !
●
Damit die automatische Aktualisierung der Perl-Doku funktioniert,
darf man sie nicht an einen anderen Pfad verschieben !Allerdings ist es aus praktischen Gründen oft erwünscht, diese und andere Dokumentationen an einer zentralen Stelle zusammenzufassen. |
SoftLink (Alias, Verknüpfung)Eine einfache Möglichkeit, die Perl-Doku an ihrem Platz zu lassen, und sie trotzdem an einem beliebigen Platz zu öffnen, ist ein Softlink:Rechtsklicken sie die Datei C:\Programme\Perl\html\index.html
und wählen sie Ändern sie den Namen des im gleichen Verzeichnis erstellten SoftLinks auf Perl-Doku und verschieben sie den Link an einen beliebigen anderen Pfad. Test: Doppelklicken sie den Link - Die Perl Doku sollte angezeigt werden. |
Apache WebserverWesentlich eleganter ist die Verwaltung am eigenen → Webserver. Ein Webserver kann auf jedem Arbeits-PC installiert werden (sehr empfehlenswert), und/oder am Server-PC ihres lokalen Netzwerks (LAN) laufen. In diesem Fall braucht man nur eine einzige Perl-Doku, die für alle User des Netzwerks auf Webseiten verfügbar ist.Die Perl-Doku bleibt in ihrem eigenen Verzeichnis außerhalb des Server Arbeits-Verzeichnisses. ► Legen sie im Apache-Verzeichnis eine Text-Datei an, z.B.
C:\Programme\Apache...\conf\extra\perl_manual.conf
|
Inhalt der Text-Datei perl_manual.conf
# Verwaltung der Perl-Doku
Alias /perldoku "C:/Programme/Perl/html"<Directory "C:/Programme/perl/html">
Order allow,deny
</Directory>
Allow from all Webserver NeustartDie geänderte Konfiguration wird erst nach einem Neustart des Webservers wirksam. |
AnwendungNach dem Neustart des Servers sollten alle Webseiten der installierten Dokumentation verfügbar sein.► Sie können die Web-Adresse mit dem Alias (hier perldoku ) direkt in die Browser-Adresszeile eingeben. ► Für dauerhafte Anwendung werden natürlich besser HTML-Hyperlinks angebracht: Diese enthalten weder absolute noch relative Pfade sondern das angelegte Alias (hier /perldoku ) und sehen daher immer gleich aus, unabhängig vom Pfad jener Webseite, welche den Link enthält. |
Browser-Adresszeile: Für einen Webserver am eigenen PC können sie localhost verwenden, für andere Server deren Namen oder IP-Adressen:
http://localhost/perldoku
http://192.168.0.1/perldoku http://MeinServer/perldoku HTML-Link <a href="/perldoku">Perl Doku</a>
|
|