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

Google Summer of Code 2019

Die besten Open-Source-Beiträge dieses Jahres

Google Summer of Code 2019

In der Welt der Programmierung ist Googles Summer of Code längst eine Institution. Und wieder haben Mentoren aus Open-Source-Projekten und studentische Entwickler zusammengefunden, um ein paar Tausend Zeilen Code zu produzieren. lesen

Unit-Tests für Bash-Skripte mit BATS

Bash Automated Testing System unter Unix

Unit-Tests für Bash-Skripte mit BATS

Beim Thema Software Testing stehen normalerweise die großen, „echten“ Programmiersprachen im Vordergrund – Skripte bleiben meist außen vor. Mit dem Skript-Spezialisten BATS lassen sich ganz einfach Unit-Tests für jegliche Art von Unix-Programm erstellen. lesen

PHP-Tools für Entwickler

Programmieren mit PHP, Teil 9

PHP-Tools für Entwickler

Für PHP gibt es eine Reihe nützlicher Werkzeuge, mit denen Entwickler einfacher Programme schreiben und mit PHP arbeiten können. Neben Entwicklungsumgebungen und Editoren stellen wir in diesem Beitrag auch andere Zusatztools vor. lesen

10 Open-Source-Tools für jedes Testszenario

Apps und Anwendungen aller Art analysieren

10 Open-Source-Tools für jedes Testszenario

Ob einfacher Syntax-Test für Skripte oder aufwändiger Blackbox-Test für komplexe Web-Anwendungen: Mit den passenden Tools geht das Testing flott und mit Freude von der Hand. Hier zeigen wir zehn Open-Source-Werkzeuge, die man kennen sollte. lesen

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

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)