Perl-Modul
Ein Perl-Modul ist eine separate Komponente eines Programms, das in Perl geschrieben wurde.
Ein Modul besitzt seinen Quellcode in einem sogenannten package (ähnlich einem Java-Paket), dem Mechanismus in Perl, Namensräume zu definieren, z.B. CGI, Net::FTP oder XML::Parser; diese Struktur spiegelt das Dateisystem wieder (sodass das Modul Net::FTP in der Datei Net/FTP.pm liegt). Darüber hinaus ist ein Perl-Modul als Klasse zu verwenden, falls objektorientierte Programmierung angewandt wird.
Eine Sammlung von Modulen mit zugehöriger Dokumentation, Build-Skripten etc. bilden eine Distribution. Die Perl-Community besitzt eine große Sammlung an Distributionen verfügbar für Suche und Download auf CPAN.
Perl als Programmiersprache erlaubt vielfältige Programmierstile. Man kann sowohl ein Modul finden, das prozedural geschrieben ist (z.B. Test-Simple), als auch Module mit objektorientierten Schnittstellen (z.B. XML::Parser), und beide werden als gleich gut im Erfüllen ihrer Aufgaben angesehen. 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).