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 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 Platform“ 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

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  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

XAMPP als Solution Stack für PHP-Entwickler

Programmieren mit PHP, Teil 7

XAMPP als Solution Stack für PHP-Entwickler

PHP-Entwickler benötigen eine Umgebung, in der sich der Code und die fertige Applikation möglichst produktionsnah testen lassen. XAMPP ist eine optimale Lösung dafür. Wir zeigen die Möglichkeiten und die Installation. lesen

IntelliJ IDEA und Vim unter Linux

Beliebte Code-Editoren, Teil 2

IntelliJ IDEA und Vim unter Linux

IntelliJ IDEA und Vim gehören unter GNU/Linux zu den populärsten Development-Tools. Beide Werkzeuge haben ihre eigenen Vor- und Nachteile, wir sehen uns die Funktionen im Folgenden näher an. lesen

Was ist Ruby?

Definition „Ruby (Programmiersprache)“

Was ist Ruby?

Ruby ist eine objektorientierte Programmiersprache, welche bereits im Jahr 1995 entwickelt wurde und seitdem in verschiedenen Bereichen eingesetzt wird. Seit dem Jahr 2012 ist die sogenannte Ruby-Norm unter der Norm ISO/IEC 30170 exakt spezifiziert. lesen

SEI CERT Coding Standards der Carnegie Mellon University

10 Standards für sichere Software

SEI CERT Coding Standards der Carnegie Mellon University

Security by Design sollte schon vor der ersten Zeile Code ansetzen, aber natürlich gilt Gedanke auch für den Quelltext selbst. Von der Carnegie Mellon University gibt es hierzu umfangreiche Materialien. lesen

Programmieren mit Notepad++

Erweiterbarer Texteditor unter Windows

Programmieren mit Notepad++

Das Notepad++ ist ein mächtiger Texteditor. Dabei bietet das Tool Syntax Highlighting und weitere Entwickler-Funktionen und lässt sich als Open-Source-Software um zusätzliche Sprachen und Plugins bis hin zur vollständigen IDE erweitern. lesen

Was ist ein Solution Stack?

Definition „Software Stack“

Was ist ein Solution Stack?

Der Software- oder Solution-Stack beschreibt genau, welche Technologien in welcher Kombination zusammenarbeiten müssen, um eine spezialisierte Plattform für bestimmte Anwendungen zu bilden. Dies reicht in der Regel vom Betriebssystem bis hin zu den benötigten Programmiersprachen. lesen

Chance für Banken und Entwickler

Platformication in der Finanzindustrie

Chance für Banken und Entwickler

Viele Banken nutzen eine historisch gewachsene, komplexe Legacy-IT. Das sorgt für lange Entwicklungszyklen und erfordert hohes Spezialwissen seitens der Developer. Eine offene Bankenplattform kann diese Hürden senken. lesen

Der Unterschied von Compiler und Interpreter

Definition „Compiler, Interpreter, Compreter“

Der Unterschied von Compiler und Interpreter

Von allein kann ein Computer die Anweisungen des Programmierers nicht verstehen. Sie müssen entweder per Compiler in Maschinensprache übersetzt werden oder per Interpreter zur Laufzeit verarbeitet werden. lesen

Versionen, Möglichkeiten und praktischer Einsatz von PHP

Programmieren mit PHP, Teil 1

Versionen, Möglichkeiten und praktischer Einsatz von PHP

PHP gehört zu den beliebtesten Programmiersprachen für dynamische Webseiten und Web Apps. Die Integration mit MySQL-Datenbanken trägt maßgeblich zur Popularität der Skriptsprache bei. 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)