|

|
Perl ist eine freie, plattformunabhängige und interpretierte Programmiersprache („Skriptsprache“), die mehrere Programmierparadigmen unterstützt.
Der Linguist Larry Wall entwarf sie 1987 als Synthese aus C, awk, den UNIX-Befehlen und anderen Einflüssen. Ursprünglich als Werkzeug zur Verarbeitung und Manipulation von Textdateien insbesondere bei System- und Netzwerkadministration vorgesehen (z. B. Auswertung von Logdateien), hat Perl auch bei der Entwicklung von Webanwendungen und in der Bioinformatik weite Verbreitung gefunden. Hauptziele sind eine schnelle Problemlösung und größtmögliche Freiheit für Programmierer. Die Bearbeitung von Texten mit Hilfe regulärer Ausdrücke sowie viele frei verfügbare Module, die an einem zentralen Ort gesammelt werden (CPAN), sind Stärken der Sprache.
Larry Wall war als Administrator und Programmierer bei dem Unternehmen Unisys angestellt, bei dem er seit März 1987 daran beteiligt war unter dem Namen blacker ein sicheres Netzwerk für die NSA zu entwickeln. Er erhielt mehrere Aufträge, Werkzeuge zur Fernwartung und Überwachung der entstehenden Software zu schaffen. Eine Hauptaufgabe war dabei, übersichtliche Berichte aus verstreuten Logdateien zu erzeugen. Da ihm die vorhandenen Sprachen und Werkzeuge dafür zu umständlich erschienen, entwickelte er mit Hilfe seines damaligen Teamkollegen Daniel Faigin und seines Schwagers Mark Biggar schrittweise eine eigene Sprache, um seine Aufgaben zu lösen.
Dabei griff er auch auf sein Wissen und seine Erfahrung als Linguist zurück und entwarf Perl nahe an den menschlichen Sprachgewohnheiten. Dies drückt sich in minimalen Voraussetzungen für Einsteiger, einer starken Kombinierbarkeit der Sprachelemente und einem reichen Wortschatz aus, der auch Befehle zulässt, deren Bedeutungen sich überschneiden. Wall sieht darin die Bedürfnisse eines Praktikers nach Freiheit und intuitivem Ausdruck verwirklicht.
Gemäß diesem praktischen Ansatz borgte sich Perl seinen Wortschatz und seine logischen Strukturen von den in den 1980er Jahren unter Unix verbreiteten Sprachen und Werkzeugen, was das Erlernen vereinfachte, aber auch die Unix-Philosophie umkehrte.
Unix und seine Systembefehle waren kompiliert und meist in C geschrieben. Diese Befehle waren logische Einheiten und sollten genau eine Aufgabe beherrschen („Do one thing and do it well“/„Mach eine Sache und mach sie gut“). Interpretierte Shell-Skripte kombinierten schnell und einfach die Befehle, die untereinander ihre Ergebnisse durch Pipes weiterreichen konnten. Perl verletzt diese Philosophie, indem es diese Befehle zum Bestandteil der Programmiersprache macht, also C und Shell vereint und die vorhandenen Befehle und Werkzeuge übergeht.
Dies wurde notwendig, weil Shell-Skripte für komplexe Aufgaben ungeeignet waren. Ihr Ablauf ist sehr einfach, sie können Daten nur eingeschränkt zwischenspeichern und die Pipes sind Nadelöhre für den Datenaustausch. Andererseits erlauben sie einen wesentlich kompakteren Programmierstil, da ein benutztes UNIX-Werkzeug viele Zeilen C-Quelltext ersetzen kann.
Um die Vorteile beider Programmierarten nutzen zu können, schuf Wall eine Kombination aus C und Werkzeugen wie sed, awk, grep und sort. Er fügte Eigenschaften der Bourne Shell, in geringem Maße auch Elemente aus Pascal und BASIC, sowie eigene Ideen dazu. Diese Fusion ermöglichte kurze, mächtige Programme, die man schnell schreiben und jederzeit auch testen konnte, ohne sie kompilieren zu müssen, was die Entwicklung ebenfalls beschleunigte. Später wurden weitere Fähigkeiten von Sprachen wie LISP, Smalltalk, Python oder Ruby „importiert“.
Der Name Perl bezieht sich auf ein Zitat aus dem Matthäus-Evangelium [13,46], in dem Jesus das Himmelreich mit dem Bild eines Händlers beschreibt, der seinen gesamten Besitz verkaufen will, um eine kostbare Perle zu erwerben. Noch vor der Veröffentlichung wurde der Name von „Pearl“ in „Perl“ geändert, da es bereits eine Programmiersprache namens PEARL gab. Allgemein verbreitet und von Larry Wall akzeptiert sind auch die Backronyme Practical Extraction and Report Language (zweckmäßige Extraktions- und Berichtssprache) und Pathologically Eclectic Rubbish Lister (krankhaft vielseitiger Blödsinnsauflister). Die Schreibweise „Perl“ bezeichnet die Sprache, „perl“ dagegen das Programm, das diese Sprache interpretiert. Ferner legt die Perl-Gemeinde Wert darauf, dass nicht die Schreibweise „PERL“ verwendet wird.
Am 18. Dezember 1987 publizierte Larry Wall sein Programm im Usenet als Perl 1.0, das damals noch eine mächtigere Shell war, die gut mit Texten und Dateien umgehen, andere Programme steuern und gut lesbare Berichte ausgeben konnte. Bereits am 5. Juni im Jahr darauf erschien die Version 2.0 mit grunderneuerter und erweiterter Regex-Engine und einigen weiteren Verbesserungen. Am 18. Oktober 1989 folgte Perl 3, das mit binären Daten umgehen konnte und auch Netzwerkprogrammierung ermöglichte. Als neue Lizenz wurde die GPL gewählt.
Fast unverändert war es ab dem 21. März 1991 als Perl 4 erhältlich, jedoch nun wahlweise unter der GPL oder der von Larry entwickelten Artistic License. Der eigentliche Grund für die neue Version war aber das gleichzeitig erschienene Kamelbuch, das als Referenz für den aktuellen, als Version 4 markierten Stand, veröffentlicht wurde. Bis dahin waren die seit Perl 1 verfügbaren UNIX-man-pages die einzige verfügbare Perl-Dokumentation. Diese bieten zu jedem Thema eine fundierte und umfangreiche Abhandlung, aber keinen einfachen Einstieg für Perl-Anfänger.
Diese Lücke sollte das von Randal L. Schwartz, Larry Wall und Tom Christiansen verfasste Buch schließen. Es erschien im O’Reilly Verlag, der mit diesem und weiteren Titeln als renommierter Fachverlag für Programmierer bekannt wurde. Perl-Bücher von O’Reilly wurden die maßgeblichen Perl-Publikationen, was sich erst im neuen Jahrtausend etwas relativierte. Der Verlag betreibt auch unter der Internetadresse perl.com das meistbesuchte Online-Magazin für Perl-Programmierung und veranstaltet mit der TPC (The Perl Conference – heute OSCON) die größte Perl-Konferenz. O’Reilly profitierte von Perls wachsender Popularität, und im Gegenzug bezahlte Tim O’Reilly seinem Freund Larry Wall in den folgenden Jahren ein festes Gehalt, der sich so, ohne weitere Pflichten oder Vorgaben, der Weiterentwicklung der Sprache widmen konnte.
1993, als Perl die Version 4.036 erreichte, brach Larry Wall die Weiterentwicklung ab, um mit Perl 5 eine vollständige Neuentwicklung zu beginnen.
zurück
|