Perl-Modul

Ein Perl-Modul ist eine separate Komponente eines Computerprogramms, das in Perl geschrieben wurde.

Ein Modul besitzt seinen Quellcode in einer Moduldatei der Endung .pm, die wiederum ein package beinhaltet, also einen eigenen Namensraum (was allerdings nicht zwingend erforderlich ist); die Struktur des Paketnamens (und damit des Namensraumnamens) spiegelt das Dateisystem wider (sodass das Modul Net::FTP in der Datei Net/FTP.pm liegt). Darüber hinaus ist ein Perl-Modul mit Namensraum als Klasse zu verwenden, falls objektorientierte Programmierung angewandt wird (in Perl sind Namensräume äquivalent mit Klassen, müssen jedoch nicht als solche verwendet werden).

Eine Sammlung von Modulen mit zugehöriger Dokumentation, Build-Skripten etc. bilden eine Distribution. Die Perl-Community pflegt eine große Sammlung an Paketen etc. auf CPAN.

Perl als Programmiersprache erlaubt vielfältige Programmierstile. Man kann sowohl ein Modul finden, das prozedural („herkömmlich“, ähnlich wie C) geschrieben ist (z. B. Test-Simple), als auch Module mit objektorientierten Schnittstellen (z. B. XML::Parser), und sowohl das eine als auch das andere können ihre Aufgaben effizient erfüllen, da es u. a. auf den Kontext ankommt: In Verbindung mit XML ist eine objektorientierte Modulschnittstelle sehr viel sinnvoller als z. B. bei einer mathematischen Funktionsbibliothek. Module können auch als Mixin-Methoden genutzt werden oder ein Pragma sein (z. B. strict), was dann einen unmittelbaren Effekt auf das Programm hat. Außerdem können Module genutzt werden, um die Syntax der Sprache selbst zu ändern. Module haben meist nur einen Effekt auf den Sichtbarkeitsbereich, in dem sie geladen wurden (meist eine Datei).

Perl-Modulen ist es gemein, eingebettete Dokumentation als Plain Old Documentation zu besitzen. POD ist flexibel genug, Artikel, Webseiten oder gar Bücher zu schreiben (z. B. Programming Perl), im Gegensatz zu javadoc, das auf die Dokumentation von Klassen spezialisiert ist. Normalerweise folgen die Dokumentationen der Struktur einer manpage.

Der Code auf dieser Seite basiert auf Perl 5.10.0 und sollte somit auch mit Perl > 5.10.0 ausgeführt werden können. Mit beispielsweise Perl 5.6 können insbesondere die Namensraumbeispiele nicht ausgeführt werden. Es wird (Ausnahmen sind gekennzeichnet) das Benutzen des Pragmas strict vorausgesetzt, was saubereren Code zur Folge hat.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.