Unter den vielen Programmiersprachen, die es gibt, ist Perl ein ausgesprochenes Unikum, das dem Wunschtraum von der eierlegenden Wollmilchsau recht nahe kommt.
Zumindest bei Schafen macht die Natur übertriebene Optimierungen nicht mit, oder, wie man in einem fernen Lande sagt: Ein Schaf kann sich entweder auf die Wollproduktion oder das Fleischwachstum konzentrieren, wenn es frißt, aber nicht auf beides gleichzeitig.Während viele Programmiersprachen einen hohen Grad von Spezialisierung für bestimmte Zwecke aufweisen, ist Perl mit dem ausdrücklichen Ziel entworfen worden, viele häufig anfallende Aufgaben aus den unterschiedlichsten Bereichen in einfacher, unkomplizierter, zwangloser und eleganter Weise zu lösen.
Perl wird gerne für komplexe Anwendungen eingesetzt, bei denen große Textdatenmengen verarbeitet werden müssen, etwa die automatierte Erzeugung von HTML-Dateien oder die Verwaltung von Benutzerdaten in einem großen Rechnernetzwerk. Aufgrund seiner Laufzeiteigenschaften wird man Perl wohl weniger für zeitkritische Anwendungen wie das Management eines Raketenstarts einsetzen; auch ist es nicht unbedingt für die 3D-Programmierung der neuesten Rennwagensimulation geeignet. Eine nahezu prototypische Anwendung ist die Verbindung von Datenbanken mit einer WWW-Schnittstelle mittels CGI, die überproportional häufig in Perl realisiert wird.
Beispielprogramme für Datenbankzugang und WWW-basierende Benutzeroberflächen finden sich in Kapitel Benutzeroberflaechen.Perl ist daher möglicherweise unter den Programmiersprachen mit der größten Benutzerexposition die unbekannteste und steht damit in unmittelbarem Gegensatz zur vielleicht bekanntesten Programmiersprache mit allerdings relativ kleiner Benutzerexposition, nämlich BASIC.
Perl erlaubt und unterstützt eine Gliederung der Programme in wiederverwendbare Module, die von Programmierern weltweit ausgetauscht werden und aus einem öffentlich zugänglichen Archiv bezogen werden können.
Perl
Die folgenden Ausführungen dieses Absatzes
lehnen sich stellenweise an Tom Christiansens
Perl-Kurs an (CPAN:/doc/perl_slides.tex
.
Siehe auch Kapitel
über das Perl-Archiv).
ist eine interpretierte Sprache, die in vielen Aspekten
an C angelehnt ist, aber auch Elemente von sed, awk, sh,
Pascal und anderen Sprachen integriert. Perl stellt
leistungsstarke Funktionen für die Manipulation
textähnlicher Daten dar, ist aber auch in der Lage, mit
Binärdaten umzugehen. Aufgrund der Anlehnung an bekannte
Sprachen ist Perl in seinen Grundzügen schnell erlernbar.
Programme lassen sich mit Perl leicht entwickeln, da Perl
keinen aufwendigen Compilerlauf kennt, sondern einfach das
Skript einliest und ausführt bzw. bei Fehlern im Skript
vor Ausführung zurückweist.
Die Unterscheidung zwischen Programmier- und Skriptsprache ist im Falle Perls nicht einfach zu treffen, zumal die Grenze ohnehin nicht klar definiert ist. Rainer Fischbach vergleicht in seinem Artikel Schwierige Abgrenzung. Von den Job Control Languages bis Perl und Python (iX 12/1999, p. 60 ff.) ca. 17 verschiedene Skriptsprachen (zu denen er auch Perl zählt) und geht auch auf die Schwierigkeiten der Zuordnung ein. Tobias Himstedt, Kristian Köhntopp, Frank Pilhofer, Holger Schwichtenberg, Henning Behme und Christian Kirsch benutzen in ihrem Artikel Schnell, nicht schmutzig. Formulareintrag in verschiedenen Scriptsprachen überprüfen (iX 12/1999, p. 72 ff.) die Sprachen JavaScript, Perl, PHP, Python, Tcl und VBScript, um ein WWW-Programm mit gleicher Funktionalität zu schreiben. Sie resümieren, daß die Entscheidung für eine Sprache oft eher auf Grund indivueller Vorkenntnisse als wegen des Designs falle.
Perl bietet sich für
Aufgaben an, die bisher mit der shell, awk oder sed gelöst
wurden, und arbeitet schneller und effizienter als diese, da
viele willkürliche Begrenzungen (Längen von Zeichenketten
etc.) in Perl nicht existieren. Perl paßt sich dynamisch dem
Datenvolumen an und ist in der Lage, ganze Dateien als einen
String zu speichern, wenn der vorhandene Arbeitsspeicher
dies zuläßt. Darüberhinaus sind viele mit Perl entwickelte
Problemlösungen hochportabel, da es Perl für eine Reihe von
Hardware-Plattformen und Betriebssystemen gibt. Ein Beispiel
sind die sgml-tools
, mit denen auch dieser Text verfaßt
wurde.
Perl ist zwar eine interpretierende Sprache, überrascht aber trotzdem durch die außerordentliche Schnelligkeit des Programmablaufs. Dies resultiert aus dem Konzept Perls, ein Skript einzulesen und vor der Ausführung in Bytecode umzuwandeln, der erst dann ausgeführt wird, wenn das ganze Skript fehlerfrei verarbeitet worden ist. Dieses Verfahren hat mehrere Vorteile. Im Gegensatz zu shell-Programmen, mit deren Abarbeitung auch dann begonnen wird, wenn sie fehlerhaft sind, kommt ein syntaktisch falsches Perl-Programm nicht zur Ausführung. Das bewahrt allerdings nicht vor Schäden durch semantische Fehler! Darüberhinaus kann Perl ausführliche Fehlermeldungen ausgeben, die eine schnelle Einkreisung des Fehlers gestatten. Der compilierte Bytecode läuft mit einer Geschwindigkeit ab, die auch bei großen Datenmengen keinen Anlaß zur Kaffeepause gibt, da zwei der Hauptbremsen von klassischen Interpretern wegfallen: weder muß jede Zeile Quelltext vor jedem (eventuell wiederholten) Programmschritt neu eingelesen werden (Dateizugriffe brauchen immer Zeit, da hier das Betriebssystem mit seiner nicht bekannten Auslastung beansprucht wird), noch muß jede solchermaßen erneut eingelesene Zeile wiederholt in Bytecode umgewandelt werden.
Der von Perl erzeugte Bytecode eines Programms ist normalerweise nicht zugänglich, es existieren aber Programme und seit Version 5.005 Perl-Module, mit denen er abgespeichert und zwecks Ausführung wieder geladen werden kann.
Da Perl frei für eine große Zahl von Betriebssystemen verfügbar ist, gibt es eine Hunderte von Musterprogrammen und Modulen, die von Programmierern weltweit beigetragen wurden und im Perl-Archiv (siehe CPAN) verfügbar gehalten werden. Es lohnt sich daher immer, vor der Inangriffnahme größerer Projekte das Archiv zu durchsuchen. Mit hoher Wahrscheinlichkeit findet sich dort ein Skript oder ein Modul, das entweder das gestellte Problem genau löst oder aber die nötigen Werkzeuge für eine einfache und elegante Lösung bereitstellt. Die für Perl verfügbaren Module werden im Kapitel Module vorgestellt.
Die jeweils aktuelle Perl-Version wird im Archiv
stable.tar.gz
des Quellcode-Verzeichnisses von CPAN
abgelegt. Ende November 1999 war der stabile
Versionsstand 5.005_03; Entwicklerversionen, die aber noch
nicht stabil sind, liegen bereits bei oder kurz vor 5.006.
Nach dem aktuellen Stand von CPAN und seiner Spiegel (siehe auch CPAN und Bezugsquellen) auf CD-ROM zu urteilen, gibt es Perl zumindest für die folgenden Architekturen und Betriebssysteme:
Da es zwischen einzelnen Betriebssystemen große Unterschiede bei Bit-Ordnung, Dateisystemen, Funktionsaufrufen, Netzwerkfähigkeit, Prozeßkommunikation, Prozeßerzeugung, Speicherverwaltung und voreingestellten Variablengrößen gibt, sind nicht alle Funktionsmerkmale des Originals auf allen Plattformen anzutreffen.
Ohne jede Einschränkung kann Perl auf folgenden Plattformen kompiliert werden: Amiga, Plan 9, QNX, VMS und selbstverständlich modernen UNIX-Varianten. Der volle Funktionsumfang von Perl ist auf den nicht-UNIX-Plattformen nicht unbedingt verfügbar, und manche Perl-Portierungen werden von Bibliotheken mit plattform-spezifischer Unterstützung begleitet, so die Win32-Portierung ActivePerl mit der dazugehörigen Bibliothek.
Die Ausführungen und Beispiele in diesem Text beziehen sich immer stillschweigend auf Perl 5.005 auf Linux. Im November 1999 war auch die Perl-Version 5.004 noch weit verbreitet; noch ältere Versionen sollten allerdings gemieden werden.
Perl steht unter dem Schutz der GNU General Public License
sowie der GNU Artistic License und
ist daher frei erhältlich. Die Weitergabe von modifiziertem
Quellcode und die Weitergabe von Binärcode sind nur gestattet,
wenn die Originalquellen mitgeliefert werden. Die genauen
Regelungen sind in den Dateien README
und Artistic
im Wurzelverzeichnis des Perl-Quellcodes zu lesen.
Das zentrale Perl-Archiv im Internet heißt CPAN
(Central Perl Archive Network, in
Analogie zu CTAN, Central TeX Archive Network) und besteht aus
einem Netzwerk von gespiegelten Servern mit einheitlicher
Verzeichnisstruktur. Erreichbar ist es unter
http://www.perl.com/CPAN.
Beim Einloggen in das CPAN-Archiv wird
automatisch ermittelt, welcher Server der nächstgelegene
ist, und der Benutzer dorthin umgeleitet. Eine Liste
verfügbarer Archiv-Server in geographischer Darstellung
enthält die Datei CPAN:/misc/xearth.names
, die in
Verbindung mit dem Programm xearth
benutzt werden
kann:
Where do you want to perl today?
$ xearth -markerfile xearth.names &
Mit Stand vom 16. Juli 1998 befinden sich deutsche CPAN-Spiegel in:
ftp.gmd.de
ftp.gwdg.de
ftp.leo.org
ftp.mpi-sb.mpg.de
ftp.rz.ruhr-uni-bochum.de
ftp.uni-erlangen.de
ftp.uni-hamburg.de
Diese Liste ist bei ihrer Veröffentlichung mit hoher Wahrscheinlichkeit nicht mehr vollständig. Große Perl-Archive gibt es nämlich auf den ftp-Servern vieler Universitäten, so auch der FU Berlin
Die Adresse ist ftp.fu-berlin.de:unix/languages/perl., ohne daß dies nominell CPAN-Spiegel sind. Da jedoch sämtliche Module in aktuellen Versionen vorliegen, bestehen zumindest für die praktische Arbeit keine großen Einschränkungen.
Eine Übersicht über weltweite CPAN-Spiegel ist auch
in der manpage perlmodlib
enthalten.
Ähnlich wie von CTAN gibt es auch von CPAN regelmäßige Abzüge auf CD-ROM. Ein bekanntes Produkt ist die im Buchhandel erhältliche CD-ROM Perl, die jährlich von Walnut Creek CDROM herausgegeben wird. Nachteilig an diesem Publikationsrhythmus ist natürlich, daß bestimmte, neueste Module möglicherweise nicht darauf enthalten sind.
Neben der quasi-kanonischen CD-ROM-Fassung mit dem
CPAN-Inhalt wird Perl als fertig kompiliertes und
eingerichtetes System mit einer großen Auswahl von
Modulen allen Linux-Distributionen beigelegt. Wer
sich Linux auf seinem Rechner einrichtet, kann davon
ausgehen, daß Perl installiert ist. Ein einfacher
Test besteht darin, am Kommandoprompt perl -v
zu tippen. Die folgende Ausgabe sollte erscheinen:
$ perl -v
This is perl, version 5.005_03 built for i686-linux
Copyright 1987-1999, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5.0 source kit.
Es kann im Regelfall davon ausgegangen werden, daß die diesen Distributionen beiliegende Perl-Installation vollständig im Sinne des Perl-Quellfiles auf CPAN ist. Dem Autor dieser Zeilen ist allerdings bekannt, daß die Perl-Version, die dem Microsoft NT Servicepack beiliegt, nur aus wenigen elementaren Komponenten besteht.
Das Informationsangebot zu Perl ist sehr vielfältig und kann in die Systemdokumentation (on-line) und die systembegleitende Dokumentation eingeteilt werden. Sowohl die elektronische als auch die Dokumentation in Buchform sind von außerordentlich hoher Qualität, so daß im Regelfall keine Frage unbeantwortet bleibt.
Bestandteil der Perl-Distribution 5.005 sind etliche Manualseiten (manpages), die insgesamt (als manpage formatiert) rund 700 bis 800 Buchseiten Text enthalten:
perl
: Übersichtperldelta
: Unterschiede zu früherperl5004delta
: (neu in 5.005) Unterschiede
zur letzten Versionperlfaq[1-9]
: Häufig gestellte
Fragen; Gliederung:
perlfaq1
: Einführung zu Perlperlfaq2
: Plattformen und
Bezugsquellen für Perlperlfaq3
: Wie kann ich ...?perlfaq4
: Datenmanipulationperlfaq5
: Dateien und Ausgabeformateperlfaq6
: Reguläre Ausdrückeperlfaq7
: Perl-idiomatischer
Sprachgebrauchperlfaq8
: Perl und das Betriebssystemperlfaq9
: Perl und Netzwerkeperltoc
: (neu in 5.005) Globales
Stichwortverzeichnis,
allerdings stark
unvollständigperldata
: Datenstrukturenperlsyn
: Syntaxperlop
: Operatoren und Vorrangperlre
: Reguläre Ausdrückeperlrun
: Ausführung,
Kommandozeilen-Optionenperlfunc
: Eingebaute Funktionenperlopentut
: (neu in 5.005)
open()
-Tutoriumperlvar
: Vordefinierte Variablenperlsub
: Subroutinenperlmod
: Module, Einführungperlmodlib
: Module, Übersicht, Anwendung
und Selbsterstellungperlmodlibinstall
: Module,
Installation von CPANperlform
: Formateperllocale
: Sprachanpassungperlref
: Bezüge auf Datenperlreftut
: (neu in 5.005) Tutorium
für Bezüge auf Datenperldsc
: Einführung zu Datenstrukturenperllol
: Listen von Listenperltoot
: OO-Tutoriumperlobj
: Objekteperltie
: Versteckte Objekteperlbot
: OO-Tricks und Beispieleperlipc
: Prozeßkommunikationperlthrtut
: (neu in 5.005) Tutorium über
Threadsperldebug
: Perl-Debuggerperldiag
: Fehlermeldungenperlsec
: Sicherheitsaspekteperltrap
: Fallstrickeperlport
: (neu in 5.005) Portierungsanleitungperlstyle
: Stilistische Anleitungperlpod
: ``Plain Old Documentation''perlbook
: Bücher zu Perlperlembed
: Perl in C-Anwendungenperlapio
: Perls interne
abstrahierte IO-Schnittstelleperlxs
: Perls XS-Schnittstelleperlxstut
: Perls XS-Tutoriumperlguts
: Perl interne Funktionenperlcall
: C-Aufrufe von Perlperlhist
: (neu in 5.005) Perls Geschichte,
mit Tabellen über
Versionsstände, Dateigrößen,
etc.Die Übersicht (man perl
) empfiehlt, sich durch
diesen Berg Information in angegebener Reihenfolge
durchzuarbeiten. Das klingt, als ob zum
erfolgreichen Arbeiten mit Perl die Lektüre all
dieser manpages nötig sei. Dem ist nicht so; wenn
man ein grundlegendes Verständnis für die Syntax von
Perl erworben hat (z. B. nach Studium der
perlsyn
-manpage und einigen Beispielprogrammen),
dann wird vermutlich perlfunc
die
wichtigste manpage für die tägliche Arbeit sein.
In ihr sind alle eingebauten Funktionen von Perl
dokumentiert; neben der allgemeinen Syntax gibt es
nahezu immer ausführliche Beispiele und Verweise auf
andere Funktionen mit verwandten Zwecken. Andere,
auch häufig konsultierte manpages dürften
perlre
(Reguläre Ausdrücke), perlrun
(Übersicht über die Kommandozeilenoptionen) und
perlform
(Deklaration von Ausgabeformaten)
sein. Der Inhalt der anderen manpages
überschreitet die Grenzen einer Einführung zu Perl
deutlich und setzt teilweise längere Einarbeitung
voraus.
Alle manpages gibt es auch bei CPAN als riesige,
zusammenhängende Textdatei mit ca. 111.012 Zeilen
Länge:
CPAN:/doc/manual/text/PerlDoc-5.005_02.txt.gz
,
darüberhinaus auch als HTML-, PostScript-, gnuinfo-
und texinfo-Datei.
Die Perl-Dokumentation liegt auch im pod-Format vor.
Die Abkürzung steht für
``Plain Old Documentation'' und bezeichnet eine einfache
Markup-Sprache, die die Speicherung von Programmcode
und Dokumentation in einer Datei ermöglicht. Die
manpage perlpod
enthält weitergehende
Informationen. Viele Module werden mit
pod-Dokumentation ausgeliefert; auf jeder
funktionierenden Perl-Installation finden sich die
Kommandos pod2html
, pod2latex
und
pod2man
, mit der sich pod-Dokumente in
HTML-Texte, LaTeX-Dateien oder manpages umwandeln
lassen. CPAN:/doc/pod2x/
bietet außerdem
noch pod2fm
, pod2texinfo
und pod2text
an, mit denen sich FrameMaker-, texinfo- und
ASCII-Versionen der pod-Dokumente erstellen lassen.
Alle erwähnten Programme sind selbstverständlich in
Perl geschrieben.
Das eigentliche Perl-FAQ (Frequently A(sk|nswer)ed
Questions), das zuletzt 1997 überarbeitet
wurde, gibt es im USENET (siehe unten), bei CPAN
(doc/FAQs/FAQ/PerlFAQ.html), oder aber in neun Teilen
als perlfaq[1-9]
-manpage. Darüberhinaus gibt es
zu einer Reihe von bekannten Fragestellungen weitere
themenbezogene FAQs, etwa zur CGI-Programmierung, zum
verschiedenen Portierungen von Perl (DOS, Mac, Windows
in verschiedenen Variationen); alle diese Texte finden
sich in CPAN:/doc/FAQs/
. Die manpage
perlfaq2
gibt weitere Hinweise auf
Dokumentation in der CPAN-Hierarchie.
Die klassische USENET-Nachrichtengruppe für Perl ist
comp.lang.perl
. c.l.p.
ist seit Juli 1998
moderiert (also c.l.p.moderated
) und wurde
(siehe die Charta der Gruppe und Begründung des
Moderationsantrags) mit dem Ziel geschaffen,
[...], dem unerfahrenen Perl-Programmierer eine nützliche Informationsquelle zu beschaffen und gleichzeitig erfahrene Programmierer zu gewinnen und zu halten, die wertvolle Beiträge zu dieser Gruppe leisten können.
Darüberhinaus gibt es die Gruppen
comp.lang.perl.announce
für Ankündigungen,comp.lang.perl.misc
für
,,Verschiedenes'', also auch Fragen der Art
,,Wie mache ich ... in Perl''. Wer zum
ersten Mal hier eine Nachricht absendet,
bekommt automatisch eine Übersicht mit
aktueller Perl-Dokumentation zugeschickt;comp.lang.perl.modules
für Module und
comp.lang.perl.tk
für GUIs auf der Basis
von Tk/Tcl (siehe auch Kapitel
Perl und Tk);
außerdem nochcomp.infosystems.www.authoring.cgi
für
CGI-spezifische Fragen (siehe dazu auch Kapitel
CGI-Programme), jedoch mit
deutlichem Schwerpunkt auf Perl.In anderen Sprachen als Englisch erscheinen außerdem folgende Gruppen:
de.comp.lang.perl
deutsch,fj.comp.lang.perl
japanisch,fr.comp.lang.perl
französisch,han.comp.lang.perl
koreanisch,it.comp.lang.perl
italienisch,japan.comp.lang.perl
ebenfalls japanisch,dk.edb.programmering.lang.perl
dänisch,tw.bbs.comp.lang.perl
chinesisch (in
Langzeichen),pl.comp.lang.perl
polnisch undrelcom.comp.lang.perl
russisch;
Es gibt mittlerweile etliche Dutzend Bücher zur Perl-Programmierung (siehe Kapitel Literaturverzeichnis), aber nur drei Texte, die in der Perl-Gemeinschaft als kanonische Texte anerkannt sind. Dies sind ``Programming Perl'' (von Larry Wall, dem Schöpfer von Perl, sowie Tom Christiansen und Randal L. Schwartz), ``Learning Perl'' von Randal L. Schwartz, und ``The Perl Cookbook'', von Tom Christiansen und Nathan Torkington.
Mit dem Erscheinen von Perl 5.000 wurde eine
neue Ausgabe von ``Programming Perl''
aufgelegt. Das Buch stellt die umfassendste
und vollständigste Referenz zur Sprache dar
und wurde von Larry Wall mitverfaßt. Die
perlfunc
-manpage ist weitgehend
deckungsgleich mit dem Buchabschnitt, der
die Perl-Funktionen enthält. Das Buch ist
für die Arbeit unentbehrlich, denn es
enthält nicht nur die vollständige
Befehlsreferenz und eine Liste der
wichtigsten Perl-Module, sondern auch zu
bestimmten Themen (etwa geschachtelten
Datenstrukturen) detaillierte Einführungen.
Wegen des Kamels auf dem Buchumschlag ist es auch als Kamel-Buch bekannt. Um es von seinem Vorgänger (für Perl 4) abzuheben, wird es gelegentlich als Blaues Kamel-Buch bezeichnet. Der Vorgänger war rot.
Das Einführungsbuch zu Perl stellt die wichtigsten Konstrukte von Perl vor, ohne den Anfänger mit der Detailfülle der Standardreferenz zu verschrecken. Dieses Buch wird in den Nachrichtengruppen zu Perl oft einfach als Lama-Buch bezeichnet.
Das Kochbuch für Perl ist für die praktische Arbeit hervorragend geeignet, da es für eine große Zahl wiederkehrender Probleme die möglichen Lösungsansätze diskutiert und Musterlösungen in Perl vorstellt. So enthält es zahlreiche Beispiele zur Zeichenkettenbehandlung, zum Umgang mit Regulären Ausdrücken, zur Datums- und Uhrzeitverarbeitung, darüberhinaus eigene Kapitel, die den wichtigsten Datentypen und Anwendungsgebieten von Perl gewidmet sind.
Die Unterscheidung in kanonische und nicht-kanonische Texte bezieht sich nicht auf die Qualität weiterführender Literatur, sondern auf die enge Verbindung zwischen der Entstehung von Perl und der dazugehörigen kanonischen Dokumentation, die teilweise einer einzigen Quelle entspringen. Andere Bücher müssen deshalb nicht qualitativ schlechter sein.
An dieser Stelle werden noch ein paar weitere Titel vorgestellt:
Von Ellen Siever, Stephan Spainhour und Nathan Patwardhan. O'Reilly, 1999. Ca. 656 Seiten.
Das Nußschalenbuch ist als Einführung zu einer ganzen Reihe Perl-typischer Anwendungen gut geeignet, da es ganze Abschnitte der Win32-Unterstützung von Perl, der CGI-Programmierung oder der graphischen Benutzerschnittstelle widmet.
Wer Perl lernt, weil er eigentlich nur ein CGI-Programm oder ein Demonstrationsprogramm mit graphischer Benutzeroberfläche schreiben möchte, ohne in die Tiefen von X oder dem Windows-API vorzudringen, kann durchaus mit diesem Buch alleine glücklich werden, da es auch eine kompakte Einführung von Bezug über Installation von Perl sowie den Grundlagen der Sprache enthält.
Von Sriram Srinivasan. O'Reilly, 1997. Ca. 404 Seiten.
Dieses Buch ist definitiv nicht für Anfänger geeignet, die sich eine erste Orientierung über Perl verschaffen wollen. Vielmehr führen mehrere seiner Kapitel Themen fort, die in den anderen Büchern nur einführend behandelt werden oder gar nicht erwähnt werden. Programmierer, die Perl selbst erweitern möchten, kommen um dieses Buch nicht herum.
Von Jon Orwant, Jarkko Hietaniemi und John Macdonald. O'Reilly, 1999. Ca. 684 Seiten.
Dieses Buch ist kein Perl-Buch im strengen Sinne. Es ist eher ein kurzgefaßtes Informatik-Kompendium mit Perl als symbolischer Sprache. Viele Bücher über Informatik und Programmierung verwenden eine programmiersprachenähnliche Metasprache, die allerdings in wirklichen Computern nicht lauffähig ist. Ähnlich der pädagogischen Absicht, mit der N. Wirth PASCAL schrieb, verwenden die Autoren Perl als Grundlage, mit dem großen Vorteil, daß alle Beispiele sofort ohne weitere Umsetzung (und die damit verbundenen Probleme) ausführbar sind.
Dieses Buch wird trotz seines von Perl abweichenden Themenschwerpunktes allen empfohlen, die Perl als leistungsfähige Sprache für viele Anwendungen entdeckt haben, da die Beispiele helfen, Perl-idiomatische Beispiele von teilweise verblüffender Einfachheit zu finden.
Die deutsche Fachzeitschrift iX veröffentlich regelmäßig Beiträge zur Perl-Programmierung, die oft von namhaften Autoren verfaßt werden, die teilweise auch als Buchautoren zur Perl-Programmierung bekannt sind.