Perl/Tokens

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

[Bearbeiten] Zweck von Tokens und reservierte Tokens

Tokens dienen in Perl dazu, logische Abschnitte in einem Script zu markieren. Deshalb sehen die Tokens sehr auffällig aus (z.B. __DATA__). Sie bestehen alle aus jeweils zwei Unterstrichen vorne und hinten und dazwischen einem groß geschriebenen Wort. Es besteht keine Pflicht, solche Tokens zu benutzen, es gibt jedoch Fälle, wo es sinnvoll ist, und einige Fälle, wo es erforderlich ist.

Folgende Tokens sind reserviert:
__FILE__ steht für den Dateinamen des aktuellen Scripts,
__LINE__ steht für die aktuelle Zeilennummer,
__END__ (allein in einer Zeile) steht für das logische Ende eines Scripts oder Moduls (es kann danach jedoch noch Text und anderes folgen),
__DATA__ (allein in einer Zeile) steht auch für das logische Ende eines Scripts oder Moduls,
__PACKAGE__ steht für den Namen des aktuellen Namensraums.

Hinter den Tokens __END__ und __DATA__ kann z.B. Text notiert werden, der aber nicht mehr als Quellcode des Scripts interpretiert wird. Diese Technik wird bei Modulen gerne benutzt, um die Dokumentation zum Modul-Code direkt im Modul zu notieren, ohne den Perl-Parser damit aufzuhalten, die im Code stehende Dokumentation als solche erkennen zu müssen.
Der in Modulen hinter __DATA__ und im Hauptscript hinter __DATA__ oder __END__ stehende Text kann mit dem speziellen Dateihandle DATA vom Programm eingelesen werden.

Beispiel
#!/usr/bin/perl -w
 
# Hier folgt der normale Code des Modul-Scripts ...
 
__END__
 
=head1 NAME
 
MyModul::Irgendwas - tut dies und das
 
=head1 SYNOPSIS
 
 require MyAnderesModul;
 my $Objekt = new MyModul::Irgendwas;
 my $Objekt->Methode($Objekt->Parameter);
 
=head1 DESCRIPTION
 
Das Modul tut irgendwas ...
 
=head1 AUTHOR
 
Fridolin Froetzel, <froetzel@example.org>
 
=cut
Das Beispiel zeigt, was typischerweise hinter dem Token __END__ notiert wird. Dort folgt eine Dokumentation und das Impressum zum Script oder zum Modul. Für diese Art von Dokumentation gibt es eine eigene Syntax, die so genannte POD-Syntax. Das Beispiel zeigt den typischen Aufbau einer Moduldokumentation. Solche Teile eines Scripts bzw. Moduls können mit dem Programm perldoc, das zum Lieferumfang von Perl gehört, gelesen werden (siehe auch Moduldokumentationen lesen mit perldoc).

Hinter den Tokens __END__ und __DATA__ kann durchaus auch noch Perl-Code notiert werden, beispielsweise spezielle Subroutinen. Der dort notierte Code kann aus dem Script heraus aufgerufen werden, wird aber vor dem Ausführen des Scripts nicht von Perl kompiliert. Fehler in diesem Code werden also erst zur Laufzeit bemerkt.

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Übersicht
Index
Mitmachen
Werkzeuge
Spenden
SELFHTML