Definition

Perl (Programmiersprache)

Was ist Perl?

Perl ist eine Familie von Skript-Programmiersprachen, die in ihrer Syntax der Programmiersprache C ähnelt. Es handelt sich um eine ältere, quelloffene, allgemein verwendbare, interpretierte Sprache.

Bei der Entwicklung von Perl stand die Benutzerfreundlichkeit im Vordergrund. Dank des effizienten Designs können Entwickler mit wenig Code viel erreichen.

Perl ist einfacher zu erlernen und zu programmieren als strukturiertere Sprachen wie C und C++. Dennoch wird die Sprache zur Entwicklung fortgeschrittener Programme verwendet. Die Sprache wird häufig zur Entwicklung von CGI-Programmen (Common Gateway Interface) verwendet, da sie über gute Textbearbeitungsfunktionen und die Fähigkeit zum Umgang mit Binärdateien verfügt.

Design und Funktionen von Perl

Perl enthält beliebte Unix-Funktionen wie sed, awk und tr. Als interpretierte Sprache kann der Code unverändert ausgeführt werden, und Anweisungen werden ausgeführt, ohne dass zuvor das gesamte Programm in Maschinensprachenanweisungen kompiliert werden muss.

Perl kann jedoch vor der Ausführung in C-Code oder plattformübergreifenden Bytecode kompiliert werden. Nach der Kompilierung ist ein Perl-Programm fast so schnell wie ein vollständig vorkompiliertes C-Programm. Für einige Server, wie zum Beispiel Apache, ist ein Plug-in verfügbar, das Perl permanent in den Speicher lädt. Dadurch wird die Kompilierungszeit reduziert und die Ausführungszeit von CGI-Perl-Skripten verkürzt.

Hier sind weitere Perl-Funktionen:

  • Glue Language. Als Glue Code Language erleichtert Perl Programmierern die Integration ansonsten inkompatibler Schnittstellen und Komponenten. Die Sprache verfügt über eine Datenbankintegrationsschnittstelle, die Datenbanken von Drittanbietern wie MySQL, Oracle, Postgres und Sybase unterstützt.
  • Integration. Perl kann in Datenbank- und Webserver eingebettet werden.
  • Textverarbeitung. Die Sprache enthält leistungsstarke Textverarbeitungswerkzeuge, die die Arbeit mit Markup-Sprachen wie Hypertext Markup Language (HTML) und Extensible Markup Language (XML) ermöglichen.

Perl-Syntax und Codebeispiele

Wie alle Programmiersprachen folgt Perl einer grundlegenden Syntax für das Schreiben von Code. Sie enthält Schlüsselwörter und Variablen für die Speicherung von Ausdrücken und Anweisungen, die die Logik des Programms ausführen.

Ein Perl-Programm beginnt immer mit dieser Codezeile:

#!/usr/bin/perl

Dies ist die Shebang-Zeile. Sie teilt dem Computer mit, dass der folgende Text Perl-Code ist, und ruft den Perl-Interpreter auf. Perl-Programme müssen den Interpreter durchlaufen, um ausgeführt zu werden.

Danach kann ein Benutzer ein einfaches Hello world!-Skript schreiben:

print "Hello world!\n"

Die Ausgabe ist Hello world!.

Benutzer können auch eine Variable deklarieren. In Perl wird die Variable durch einen Variablenindikator – ein $, @ oder % – vordefiniert. Diese definieren den Datentyp:

  • Skalare Datentypen, die Zahlen, Strings und Referenzen speichern, haben ein $ vorangestellt.
  • Arrays, die geordnete Listen von Skalaren speichern, wird ein @ vorangestellt.
  • Hashes, die Mengen von Schlüssel-Wert-Paaren speichern, wird ein % vorangestellt.

Um eine einfache Zeichenkette zu deklarieren, die ein skalarer Datentyp ist, sollte $ verwendet werden:

$str = "My name is Sam";
print "$str\n"

Hier ist die Ausgabe: My name is Sam.

Perl verfügt auch über viele spezielle Variablen, die durch Änderung der normalen Variablenindikatoren gekennzeichnet werden, wie in dieser Liste dargestellt.

Ein Beispiel für ein fortgeschrittenes Programm von Perl.org finden Sie unten. Dieses Programm sendet eine E-Mail mithilfe eines Perl-Skripts:

#!/usr/bin/perl
use strict;
use warnings;
# create the email message
use Email::MIME;
my $note = Email::MIME->create(
  header_str => [
    From    => '[email protected]',
    To      => '[email protected]',
    Subject => 'Happy New Year!',
  ],
  attributes => {
    encoding => 'quoted-printable',
    charset  => 'ISO-8859-1',
  },
  body_str => "Wishing you a very happy New Year!\n",
);
# send the email
use Email::Sender::Simple qw(sendmail);
sendmail($note);

Vor- und Nachteile der Verwendung von Perl

Perl hat sowohl einige Vor- als auch einige Nachteile.

Vorteile

Zu den Vorteilen von Perl gehören:

  • Optionen. Benutzer haben viele Alternativen, wie sie ein Programm schreiben oder ein Problem mit Perl lösen können.
  • Flexibilität. Das Design und die Syntax der Sprache ermöglichen es Benutzern, ihren eigenen Programmierstil zu verwenden.
  • Open Source. Perl ist für jeden kostenlos zugänglich, kann von jedem entwickelt und auf einer Vielzahl von Plattformen verwendet werden.
  • Verfügbarkeit. Perl ist an vielen Orten vorinstalliert und mehr als 25.000 Perl-Module sind im Comprehensive Perl Archive Network verfügbar. Die Sprache ist auch in den meisten Betriebssystemen implementiert.

Nachteile

Der größte Nachteil von Perl ist, dass es in vielerlei Hinsicht eine unübersichtliche Sprache ist:

  • Schwer zu lesen. Einige Entwickler behaupten, Perl sei schwer zu lesen und weniger optimiert als neuere Sprachen wie Python. Da es viele Möglichkeiten gibt, ein Perl-Programm zu schreiben, kann dies zu unorganisiertem, unordentlichem Code führen.
  • Schwer zu debuggen. Da Perl-Code undurchsichtig oder unübersichtlich sein kann, kann das Debuggen und Beheben von Problemen schwierig sein.
  • Leistungsschwächen. Die gleiche Flexibilität, von der Perl-Benutzer profitieren, kann auch dazu führen, dass die Sprache langsam ist. Dies liegt daran, dass diese Flexibilität zu Ineffizienzen und Redundanzen führen kann, wodurch die Kompilierung länger dauert.

Perl versus Python

Perl und Python haben eine gemeinsame Geschichte. Beide wurden erfunden, um die Skripterstellung zu vereinfachen. Perl wurde entwickelt, um Unix-Skripten eine C-ähnliche Struktur zu verleihen. Python wurde erfunden, um C einfacher und skriptfähig zu machen.

Perl und Python sind syntaktisch ähnlich, und die Übersetzung von Perl nach Python ist mit einigen wenigen größeren Syntaxänderungen relativ einfach.

Es gibt jedoch vier wesentliche Unterschiede:

  1. In Perl geschriebene Zeilen enden mit einem Semikolon.
  2. Perl enthält geschweifte Klammern und Einrückungen, Python nicht.
  3. Variablennamen in Perl werden mit einem Variablenindikator wie $x, %x und x formatiert. Variablennamen in Python werden ohne Variablenindikator wie x formatiert.
  4. Die print-Anweisung in Python fügt am Ende der Ausgabe eine neue Zeile hinzu.
Abbildung 1: Diese Code-Beispiele zeigen die Syntax-Unterschiede zwischen Python und Perl. Einer der auffälligsten ist die Verwendung von $ zur Angabe des Datentyps einer Variablen.
Abbildung 1: Diese Code-Beispiele zeigen die Syntax-Unterschiede zwischen Python und Perl. Einer der auffälligsten ist die Verwendung von $ zur Angabe des Datentyps einer Variablen.

Weitere Unterschiede sind:

  • Python ist schlanker als Perl.
  • Es gibt viele Möglichkeiten, Dinge in Perl zu erledigen, während Python so konzipiert ist, dass es einen klaren Weg zu jeder beliebigen Funktion bietet.
  • Python ist leichter zu lesen als Perl.
  • Python gilt als eine der am besten zu erlernenden Programmiersprachen und als eine der einfachsten für Anfänger.
  • Python ist eine neuere Sprache als Perl.
  • Perl ist in den Quellcode von Webanwendungen integriert.
  • Python hat den Ruf einer dynamischen Programmiersprache mit einem breiten Anwendungsspektrum – von der Webentwicklung bis zum maschinellen Lernen – was sie zu einer beliebten Sprache macht.
  • Die Open-Source-Entwickler-Community unterstützt Python stärker.

Geschichte und Zukunft von Perl

Der Programmierer Larry Wall entwickelte 1987 die erste Version von Perl. Ursprünglich stand Perl für Practical Extraction and Reporting Language, doch dieser Name wird nicht mehr verwendet. Wall zieht es vor, Perl für die Sprache selbst und perl für jeden Interpreter oder Compiler der Sprache zu verwenden.

Perl 5 wurde erstmals 1994 veröffentlicht. Die jüngste stabile Version von Perl ist laut Perl.org 5.40.1.

Perl 6 basiert auf derselben Vorgängersprache wie Perl 5, ist jedoch eine eigenständige Programmiersprache. Sie hat ihr eigenes Designteam aus Open-Source-Freiwilligen.

Das Perl 6-Projekt begann nach der Perl-Konferenz 2000, aber die erste offizielle Version der Sprache, Version 6.c, war erst im Dezember 2015 verfügbar. Perl 6 wurde 2019 in Raku umbenannt.

Heute bezieht sich Perl auf Perl 5. Die Arbeit an Perl 7 begann im Jahr 2020, ist bisher allerdings nicht abgeschlossen.

Diese Definition wurde zuletzt im Februar 2025 aktualisiert

Erfahren Sie mehr über Softwareentwicklung