Perl (practical extraction and report language)

Bei Perl (Practical Extraction and Report Language) handelt es um eine interpretierte Scriptsprache, die den Multiparadigma-Sprachen zuzuordnen ist. Perl ist eine Plattform-unabhängige Sprache, die generell als Open Source zur Verfügung steht - im Dezember 2009 in der Version 5.10.1. Perl ist eine Scriptsprache, die sowohl zur Bearbeitung von Texten und Dateien als auch für die Administration von Prozessen sowie für die Web- und Datenbank-Programmierung eingesetzt wird.


Die Ursprünge von Perl gehen zurück auf Larry Wall, der ab 1987 die Sprache entwickelte, und dabei insbesondere Aspekte der Programmiersprache C, von awk - einer Scriptsprache zur Analyse von Textdaten - und der Unix-Shell berücksichtigte. Für Perl existieren zahlreiche Erweiterung, sogenannte Module, die in einem zentralen Archiv (CPAN) online zur Verfügung stehen.

Perl unterstützt die objektorientierte, prozedurale und funktionale Sprache und ist damit eine Multiparadigma-Sprache. Perl ist eine interpretierte Scriptsprache, die aufgrund ihrer Herkunft aus der Unix-Umgebung in vielen Aspekten an die Programmiersprache C anlehnt ist, aber in vielen Elementen von sed, awk, Pascal und anderen beeinflusst wurde. Aufgrund der Vielschichtigkeit verschiedener Sprachkonzepte und Sprachkulturen ist Perl aus Sicht der Entwicklung sehr flexibel zu verwenden.

Die aktuelle Version von Perl läuft auf mehr als 100 verschiedenen Rechner-Plattformen und unterstützt aufgrund der flexiblen Struktur neben Rapid-Prototyping auch die Programmierung komplexer Software-Strukturen. Perl kann aber auch als hervorragender Ersatz zur Shell-Scriptprogrammierung angesehen werden, da auch in Perl sehr komfortabel Scripts erstellt werden können. Jede Linux-Distribution und jedes BSD-Derivat sollte daher einen Perl-Interpreter standardmäßig in der Standard-Installation enthalten. Ob Perl aktuell auf einem System installiert ist, kann unter Linux mit einem Aufruf von perl -v überprüft werden.

Das Konzept von Perl

Das Konzept von Perl sieht vor, ein Script zunächst komplett einzulesen und umgehend in Bytecode umzuwandeln. Das Script wird aber erst dann ausgeführt, wenn es gänzlich fehlerfrei verarbeitet wurde. Damit kommt ein syntaktisch fehlerhaftes Script oder Programm gar nicht erst zur Ausführung - im Gegensatz zu Shell-Programmen. Zudem bietet der Interpreter ausführliche Fehlermeldungen, die deren zügige Verfolgung gestatten. Weiterhin resultiert aus dem konzeptionellen Ansatz eine außerordentlich hohe Schnelligkeit des Programmablaufs, was auch die Verarbeitung großer Datenmengen unterstützt. Der Interpreter muss nicht jede Zeile Quelltext vor jedem sich wiederholenden Programmschritt neu einlesen oder solch eine Zeile wiederholt in Bytecode transformieren, so dass sich auch dadurch erhebliche Geschwindigkeitsvorteile ergeben.

Neben dem, dass Perl leistungsstarke Funktionen für die Manipulation textähnlicher Daten zur Verfügung stellt, ist auch der Umgang mit Binärdaten möglich. Perl gewann auch dadurch an Bedeutung, weil es vielfältige Einsatzgebiete unterstützt. Im Besonderen im Internet und im Web, wo Client-Server-Interaktionen, z.B. SQL-Anweisungen, die an einen Datenbankserver gesendet werden, und die vom Server zurück gesendeten Ergebnisse, in Perl realisiert werden. Hierzu steht mit Catalyst auch ein entsprechendes Web-Framework zur Verfügung. Ebenso können Textprotokolle wie Common Gateway Interface (CGI) mit Perl durchgeführt werden. Internetsites werden von Perl ausgeführt, die dynamisch generierte Inhalte oder Suchfunktionen zur Verfügung stellen. Eine weitere Besonderheit von Perl ist z.B. die Verwendung von regulären Ausdrücken, mit denen ein Text nach Zeichenmustern durchsucht werden kann. Mit diesen regulären Ausdrücken können Perl-Programme schneller, kürzer, einfacher und somit wesentlich effektiver geschrieben werden. Über Stubs lassen sich HTML-Code oder C-Code in Perl einbetten und mit C geschriebene Programme sowie Bibliotheken mit Perl aufrufen. Die Automation der Systemadministration und die Datensicherung gehören ebenfalls zu den Aufgaben von Perl, ebenso wie das weite Feld der Textverarbeitung mit Dateibehandlung.

Da Perl für eine große Anzahl von Betriebssystemen verfügbar ist und eine extreme Verbreitung hat, stehen eine erhebliche Menge an Musterprogrammen, sogenannte Module, zur Verfügung. Deren Verwaltung ist in der Perl-Welt über das zentrale - online verfügbare - Archiv CPAN (Comprehensive Perl Archive Network) organisiert. Dieses besteht aus einem weltweiten Netzwerk von gespiegelten Servern mit einheitlicher Verzeichnisstruktur. Der nächstgelegene Server wird automatisch beim Einloggen in das Netzwerk ermittelt. Um für ein spezifisches Problem das richtige Modul zu finden, kann mit Unterstützung einer höchst professionellen Such- und Dokumentationsstruktur auf das CPAN zugegriffen werden. So ist Perl beispielsweise nicht dazu ausgelegt, schwerpunktmäßig eine Verarbeitung und Handhabung von numerischen Daten vorzunehmen. Auch hier existieren Module für beliebig große Ganzzahlen und Gleitkommazahlen sowie das PDL-Modul für die Berechnung von großen Matrizen.

http://www.cpan.org

http://www.perl.org

http://www.perl.com

http://www.perl-community.de

Informationen zum Artikel
Deutsch:
Englisch: practical extraction and report language - Perl
Veröffentlicht: 28.10.2013
Wörter: 742
Tags: #Sonstige Programmiersprachen
Links: Administration, Archivierung, Aspekt, Automation, Bibliothek