Definition „Perl (Programmiersprache)“

Was ist Perl?

| Autor / Redakteur: LineFeed / Stephan Augsten

„There's more than one way to do it“, so ein wesentliches Motto der Skriptsprache Perl.
„There's more than one way to do it“, so ein wesentliches Motto der Skriptsprache Perl. (© teguhjatipras - Fotolia)

Perl ist eine Skriptsprache, die polarisiert. Die Programmiersprache hat nämlich ihre Besonderheiten, die dem Fachmann die Arbeit erleichtern, dem Laien aber das Verständnis erschweren können.

Was ist Perl?

Perl ist eine interpretierte Skriptsprache, beziehungsweise seit dem Erscheinen von Perl 6 eine Familie von Skriptsprachen, wie sie für Unix und kompatible Systeme wie Linux typisch ist. Ihre besonderen Stärken liegen in ihrer Leistungsfähigkeit und Effizienz bei der Verarbeitung textartiger Daten.

Das ist zu einem wesentlichen Teil der ausgefeilten Unterstützung sogenannter „regulärer Ausdrücke“ zu verdanken, einem mathematischen Grundkonzept für die Beschreibung und Analyse von Systemen, die sich nach vorgegebenen Regeln aus festgelegten Alphabeten aufbauen, beispielsweise auch natürlichen Sprachen. Vom formalen Teil dieser Regel-Funktionen hat die Programmiersprache Python vieles übernommen.

Perl-Prinzipien

Ein Motto von Perl lautet „There's more than one way to do it“. Perl macht dem Programmierer vergleichsweise wenig Vorgaben, wie er ein Programm zu schreiben hat. Weiterhin lassen sich Perl-Skripte so nah an natürlicher Sprache schreiben, dass sogar Gedichte in Perl geschrieben werden, die gleichzeitig lauffähige Programme sind.

Häufig zu lesen sind Statements wie „open(FILE, 'myfile') or die „Can't open file 'myfile'„;“, womit eine Datei geöffnet und im Fehlerfall das Skript mit einer entsprechenden Meldung beendet wird. Neben dem If- kennt Perl beispielsweise auch ein Unless-Statement, sodass Sie statt „if not“ auch ein natürlicher klingendes „unless“ schreiben können.

Das Perl-Paradoxon

Perl unterstützt den Programmierer durch ein als Huffman-Kodierung bekanntes Prinzip, das die Länge von Bezeichnern mit der Häufigkeit ihrer Verwendung korreliert. Oft genutzte Schlüsselwörter sind in Perl typisch kürzer als seltener verwendete. Die zahlreichen Möglichkeiten in Perl, sehr kompakt und effizient zu programmieren, führen aber gerade auch dazu, dass die Sprache oft als unverständlich gefürchtet und als „Write-Only-Language“ bezeichnet wird.

Von der Unix-Skriptsprache zum Web-Standard

Eine große Verbreitung erreichte Perl mit den ersten dynamischen Webseiten, die über CGI-Skripte realisiert wurden. Im Unterschied zu neueren Formen der Dynamisierung von Webinhalten wie Javascript oder PHP laufen CGI-Programme auf dem Webserver und nicht im Browser auf dem Endgerät des Nutzers.

Die in Perl kodierenden Web-Programmierer der CGI-Zeit waren daher eher dem Bereich der Systemadministration verbunden, die PHP-Programmierer der Anwendung und dem Web-Design. Die vergleichbare Popularität im ähnlichen Anwendungsbereich und eine typische Abneigung von PHP-Programmierern gegen die als kryptisch empfundene Sprache Perl spiegeln sich in der Interpretation des Kürzels PHP als Perl Hater's Perl wider.

Perl-Anwendungen außerhalb des WWW

Mit dem Wechsel von CGI zu Browser-seitig generierten dynamischen Webinhalten ist auch die Bedeutung von Perl im Bereich der Web-Programmierung geschwunden. Als „Swiss Army Chainsaw“ („Schweizer Taschenkettensäge“) unter den Skriptsprachen spielt Perl bei der Systemadministration weiterhin eine wichtige Rolle. Mit der Vermeidung interner Limits und seiner Flexibilität beim Durchforsten großer Datenmengen ist Perl auch für Big Data zum Beispiel im Finanzwesen gut gerüstet.

Die Perl-Geschichte

Nach der ersten, von Larry Wall 1987 vorgestellten Version, entwickelte sich Perl bis 1993 rasch zu dem leistungsfähigen Werkzeug, als das es heute bekannt ist. Der Schritt von Perl 4 zum im Herbst 1994 veröffentlichten Perl 5 brachte vor allem einen völlig überarbeiteten Perl-Interpreter, aber auch wesentliche Neuerungen, wie die Unterstützung von Referenzen, Objekten und Perl-Modulen.

Seit Perl 5 ist somit eine objektorientierte Programmierung in Perl möglich. Es können als Parameter an Unterfunktionen übergebene Variablen aus dem Unterprogramm heraus manipuliert werden, außerdem lässt sich die Sprache über Module flexibel vom Anwender erweitern.

Perl 6: das neue Perl

Die Entwicklung von Perl 6 begann bereits im Jahr 2000, mündete aber erst 2015 in einem offiziellen Release. Die ältere Version wurde damit nicht ersetzt, sondern durch um zweite, völlig neu entwickelte Perl-Variante ergänzt. Perl 6 unterscheidet sich insbesondere in einigen viel diskutierten, historisch bedingten Unschönheiten von Perl 5, die dort ohne einen schwerwiegenden Bruch der Kompatibilität nicht zu beseitigen sind.

Funktionserweiterung durch Perl-Module

Einen wesentlichen Einfluss auf die Leistungsfähigkeit der Programmiersprache Perl haben die Module, die online über das CPAN-Archiv abrufbar sind. Hier stehen über 150.000 Perl-Module bereit, um die täglichen Aufgaben von Software-Entwicklern zu lösen.

Perl-Besonderheiten

Eine der charakteristischen Eigenheiten von Perl ist die sichtbare Unterscheidung zwischen einfachen, skalaren Variablen und zwei verschiedenen zusammengesetzten Datentypen, die ganzzahligen Werten respektive mit Zeichenketten indiziert sind. In Perl ist das entsprechende Zeichen am Anfang von Variablennamen („$“, „@“ oder „%“), Sigil genannt, in jedem Fall anzugeben und es kennzeichnet, wie die Variable interpretiert werden soll, nicht wie sie definiert ist.

Man kann also beispielsweise eine Liste in einer Variablen „@array“ speichern und mit „$array“ auf das erste Element daraus zugreifen; oder man speichert ein assoziatives Array unter dem Namen „%dict“ und holen sich eine Liste der Elemente über den Bezeichner „@dict“. Auch hiermit erleichtert Perl die Programmierung häufig verwendeter Konstrukte, setzt sich aber ebenfalls der Kritik aus, schlecht lesbare Programme zu liefern.

Neben den üblichen Print-Statements bietet Perl mit Write-Formaten einen einfach nutzbaren Mechanismus für formatierte Ausgaben. Diese erweist sich speziell bei der Reportgenerierung als nützlich, einem der bevorzugten Anwendungsgebiete der Sprache.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Wichtige Linux-Befehle im Überblick

Definition „Linux-Kommandos“

Wichtige Linux-Befehle im Überblick

Die von Unix geerbte Kommandozeile in GNU/Linux ist ein mächtiges Werkzeug, will aber auch wie ein Profiwerkzeug genutzt werden. Linux-Befehle, die dem Einsteiger kryptisch erscheinen, sind für erfahrene Anwender effizient. Hier werden sie vorgestellt. lesen

Architektur von OpenShift 3.4

Effizienter entwickeln in der PaaS

Architektur von OpenShift 3.4

Entwicklungsprojekte lassen sich mit einer PaaS-Umgebung beschleunigen und produktiver machen. Wir haben uns die Container-Plattform Red Hat OpenShift genauer angesehen. lesen

Wie Software-Entwickler sich und ihren Job einschätzen

Autodidaktisch, zufrieden, aber unterbezahlt

Wie Software-Entwickler sich und ihren Job einschätzen

Die Anwendungsentwickler-Community Stack Overflow zeichnete bei einer weltweiten Studie ein Bild ihrer Nutzer. Knapp die Hälfte der Software Developer ist demnach mit dem aktuellen Job zufrieden, auch wenn sich etliche davon ein höheres Einkommen wünschen. lesen

Was ist PHP?

Definition „PHP Hypertext Preprocessor“

Was ist PHP?

PHP steht für „Personal Home Page Tools“ oder „PHP Hypertext Preprocessor“ und bezeichnet eine Skriptsprache im Webumfeld. Die Syntax ähnelt der von Perl oder C. Mit PHP und Datenbankunterstützung lassen sich Webseiten oder Webanwendungen dynamisch gestalten. lesen

Github geht stärker auf Unternehmen zu

Starkes Open-Source-Fundament

Github geht stärker auf Unternehmen zu

Kooperative Software-Entwicklung gibt es nicht erst seit Open Source. Ein außerordentlich beliebtes Tool dafür, Github, kommt allerdings aus der Open-Source-Welt, und sein geschäftlicher Erfolg basiert ebenfalls darauf. lesen

Java erobert die Pole Position zurück

Programmiersprachen

Java erobert die Pole Position zurück

Im Lauf des Sommers hat Java die Spitzenstellung im Tiobe-Index der Programmiersprachen nicht nur zurückerobert, sondern sogar deutlich ausgebaut. Der Abstand zwischen Java und der zweitplatzierten Sprache ist so groß wie zuletzt im Jahr 2008. lesen

Buffer Overflows in C-Programmen verhindern

Libsafe und andere Tools

Buffer Overflows in C-Programmen verhindern

Funktionsaufrufe in C können schnell zum Pufferüberlauf führen. Solche Fehler lassen sich mit dem Tool Libsafe und auf anderem Wege reduzieren. Moderne Betriebssysteme setzen zusätzlich auf Technologien wie Address Space Layout Randomization, kurz ASLR. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44533086 / Definitionen)