StartseiteProgrammierungPerl

Module

18. JULI 2011
von Jörg
Programmierung - Perl

Um das Rad nicht neu erfinden zu müssen, stehen unmengen von öffentlichen Modulen für das einbinden ins eigenen Perl-Skript zur Verfügung. In jedem Modul ist ein bestimmtes Package definiert, indem Funktionen, aber auch einzelne Variablen sind. Module haben die Dateiendung .pm

Packages sind Namesräume, zb. wird ist im Modul CGI das Package CGI zu finden, aus diesem werden die Subroutinen folgendermaßen aufgerufen:

$CGI->subroutine();

Wobei CGI dann der Namensraum ist.

$[Package-Name]::[Variablenname];
[Package-Name]::[Subroutine]();

Einbinden von Modulen

Um module in einem Perl-Skript einzubinden, stehen die Funktionen use und require zur Verfügung.
Unterscheid:
Bei use wird das Modul zu Beginn des Skriptes eingefügt, es steht also zur Verfügung bevor die erste Code-Zeile ausgeführt wird. Mit require wird das Modul zur Laufzeit eingebunden.

01
02
03
04
05
06
# CGI-Modul hier verfügbar
use CGI;
if( $var ){
  require Image::Magick;
  # Erst hier Modul Image::Magick verfügbar
}

Eigene Module erstellen

Um ein eigenes Modul zu erstellen wird der Shebang #!/usr/bin/perl, eine Definition von einem Namensraum (Package) und am Ende des Skripts ein einfaches 1; benötigt.

MyModul.pm
01
02
03
04
05
06
07
08
09
#!/usr/bin/perl
package MyModul;

# Variablen und Subroutinen
sub ausgabe{
  print "Hier Modul MyModul.pm!";
}

1;
main.pl
01
02
03
#!/usr/bin/perl
use MyModul;
MyModul::ausgabe();

Module installieren

Dafür gibt es auf perl-community ein gute Anleitung.

Falls das installieren eines bestimmten Moduls dennoch nicht funktionieren sollte, hilft dieser Link vielleicht weiter.
z.B. das Modul Image::Magick benötigt noch bestimmte DLLs, dafür werden noch binäre Dateien benötigt, welche kompiliert werden müssen.
Ich bin bei StrawberryPerl das mit folgendem Aufruf in der Windows-Konsole umgangen:
ppm install http://www.bribes.org/perl/ppm/Image-Magick.ppd

Hinterlasse einen Kommentar

Ein Frosch der sich an der Seite festhält