Tipps rund um Perl
Einbinden von Modulverzeichnissen
PERL5LIB ist eine Umgebungsvariable, die eine durch Doppelpunkte getrennte Liste von Verzeichnissen enthält. In diesen
Verzeichnissen sucht Perl Module, bevor es in den Verzeichnissen der Standardbibliothek und im aktuellen Verzeichnis
sucht. Wenn diese Variable nicht definiert ist (und nur dann), verwendet Perl die in der Umgebungsvariablen PERLLIB
gelisteten Verzeichnisse. PERLLIB hat den gleichen Aufbau wie PERL5LIB.
Perl-Skripte und Module können auch mit
use lib <Verzeichnis>
Verzeichnisse benennen, in denen Perl die Module suchen soll.
Um ein grösseres Skript in sinnvolle Module (oder Objekte, siehe
"Objektorientierte Programmierung mit Perl"), zu unterteilen,
ist es wünschenswert, die zu einem Skript gehöreden Module in entsprechende Unterverzeichnisse zu verteilen.
Beispiel:
| Verzeichnis |
Beschreibung |
| .. |
Verzeichnis, in dem das Startskript steht. (Name=Anwendungsbezeichnung?) |
| startskipt.pl |
Startskript |
| doc |
Verzeichnis der Datenmodule |
| gui |
Verzeichnis der GUI-Module, z.B. unter verwendung von TK |
| ... |
weitere Verzeichnisse |
Die o.g. Verzeichnisstruktur könnte mit
use lib <Startskriptverzeichnis>/<Unterverzeichnis>.
realisiert werden.
Das <Startskriptverzeichnis> erhät man mit der Variablen
$FindBin::Bin
aus dem Modul
$FindBin,
so dass sich folgender code ergibt:
use FindBin
use lib "$FindBin::Bin/<Unterverzeichnis>"
Die Distribution einer solchen Anwendung ist sehr einfach, da nur ein Verzeichnis mit den enthaltenen Unterverzeichnissen
kopiert werden muss.