Nächstes: Perl und Objektorientierung
Nach oben: Skripting mit Perl
Vorheriges: Skripting mit Perl
Für zahllose Anwendungen, z.B. zur Verarbeitung von Textdateien,
Konverter, Filter, Datenbanken, Nutzung von Internet Protokollen etc.,
werden Sprachmittel verwendet, die auf Finiten Automaten basieren.
Perl stellt aufgrund seiner besonderen Architektur und seiner
ausgereiften Methoden die beste Wahl für derartige Aufgaben dar.
Bei den beschriebenen Entwicklungen wurde Perl für die Konvertierung
und Aufbereitung von Daten eingesetzt, aber auch für Datenbankzugriffe
und zur Automatisierung von wiederkehrenden Aufgaben, z.B. im Bereich
der Administration.
Folgende Eigenschaften verleihen Perl kurzgefaßt seine besondere
Eignung:
- RegEx:
- Der hochentwickelte
RegEx -Maschine genannte
Mechanismus zur Auswertung (engl.: ,,matching``,
engl.: ,,pattern matching``) von
regulären Ausdrücken
(engl.: ,,regular expressions``)
[Fri1997].
Reguläre Ausdrücke sind syntaktische Hilfsmittel, die
Klassen von Zeichenketten beschreiben.
- NFA:
- Die Basis der RegEx-Maschine bildet ein
nicht-deterministischer finiter Automat
( NFA ).
- Backtracking:
- Der implementierte NFA erlaubt Rückbezüge
(engl.: ,,backtracking``).
Bei einem deterministischen finiten Automaten
( DFA ) ist dagegen
während eines Suchprozesses keine Speicherung von Treffern möglich.
- Look-ahead:
- Die RegEx-Maschine erlaubt weiterhin ein Vorausschauen
(engl.: ,,look-ahead``) auf Zeichenketten in
Kombination mit konjunktiven Ausdrücken.
Dies ist nur durch das Backtracking möglich.
Zusätzlich sind seit
der Version 5.005 zurückschauende Funktionen
(engl.: ,,look-behind``) realisiert.
- Skriptsprache:
- Perl wird in einer Skriptsprache geschrieben.
Der Zugriff auf diese Programme und die Generierung von Programmteilen
sind daher aus anderen Applikationen heraus möglich.
- Vorkompilation:
- Die Implementierung des Perl-Compilers erlaubt
eine Vorkompilation (engl.: ,,precompiling``)
in
speziellen Bytecode
vor der Ausführung, was die Geschwindigkeit
bei größeren Aufgaben deutlich erhöht.
(Eine Umsetzung von Perl in eine höhere Programmiersprache und damit
eine Nutzung von Maschinensprache ist ebenso möglich.)
Ein Perl Skript wird
zur Laufzeit nicht lediglich interpretiert, sondern in
einen Zwischencode kompiliert. In neueren Implementierungen
kann auch dieser Zwischencode, ein Bytecode , gespeichert werden.
In vielen Fällen können Programme, die in Perl geschrieben
sind,
schneller abgearbeitet werden, als vergleichbare,
die in Java geschrieben sind. Solche Programme sind aber
bezüglich der Ausführung meist immer noch etwas langsamer,
als solche in C.
Java Bytecode emuliert eine virtuelle Maschine auf tiefster
Prozessorebene, Perl Bytecode besteht aus Aufrufen optimierter
hochsprachlicher C-Funktionen.
Perl Skripten
können sehr portabel und multiplattformfähig
programmiert werden. Die Aufteilung in Module fördert
ein effizientes Arbeiten in größeren Projekten.
Nächstes: Perl und Objektorientierung
Nach oben: Skripting mit Perl
Vorheriges: Skripting mit Perl
Claus-Peter Rückemann / ruckema@uni-muenster.de / Tel. --
Sun Jan 20 19:17:16 MET 2002