Scroll to navigation

PERL(1) Perl-Referenzanleitung für Programmierer PERL(1)

BEZEICHNUNG

perl - Der Perl-5-Sprachinterpreter

ÜBERSICHT

perl-sTtuUWX ] [ -hv ] [ -V[:Konfigvar] ] [ -cw ] [ -d[t][:Debugger] ] [ -D[Nummer/Liste] ] [ -pna ] [ -FMuster ] [ -l[oktal] ] [ -0[oktal/hexadezimal] ] [ -IVerz ] [ -m[-]Modul ] [ -M[-]'Modul…' ] [ -f ] [ -C [Nummer/Liste] [ -S ] [ -x[Verz] ] [ -i[Erweiterung] ] [ [-e|-E'Befehl' ] [ -- ] [ Programmdatei ] [ Argument ]…

Für weitere Informationen über diese Optionen können Sie "perldoc perlrun" ausführen.

HILFE ERHALTEN

Das Programm perldoc(1) gibt Ihnen auf die gesamte Dokumentation Zugriff, die mit Perl kommt. Sie können weitere Dokumentation, Anleitungen und Hilfe aus der Gemeinschaft online unter <http://www.perl.org/> erhalten.

Falls Sie bei Perl neu dabei sind, sollten Sie am Anfang "perldoc perlintro" ausführen. Hier finden Sie eine allgemeine Einführung für Anfänger und es werden Hintergrundinformationen bereitgestellt, um Ihnen beim Navigieren durch die restliche ausführliche Perl-Dokumentation zu helfen. Führen Sie "perldoc perldoc" aus, um mehr darüber zu erfahren, was Sie mit perldoc(1) machen können.

Um den Zugriff zu erleichtern, wurde das Perl-Handbuch in mehrere Abschnitte aufgeteilt.

Überblick

 perl Perl-Überblick (dieser Abschnitt)  perlintro Perl-Einführung für
Anfänger  perlrun Perl-Ausführung und -Optionen  perltoc
Inhaltsverzeichnis der Perl-Dokumentation

Anleitungen

 perlreftut Perl-Referenzen - kurze Einführung  perldsc
Perl-Datenstrukturen: Einleitung  perllol Perl-Datenstrukturen: Felder von
Feldern   perlrequick reguläre Perl-Ausdrücke: Schnellstart  perlretut
reguläre Perl-Ausdrücke: Anleitung   perlootut Perl-OO-Anleitung für
Anfänger   perlperf Perl-Leistung- und -Optimierungstechniken  
perlstyle Perl-Stil-Anleitung   perlcheat Perl-Schummelseite  perltrap
Perl-Fallen für die Unaufmerksamen  perldebtut Perl-Fehlersuch-Anleitung
  perlfaq häufig gestellte Fragen zu Perl perlfaq1 Allgemeine Fragen
über Perl  perlfaq2 Finden von und Lernen über Perl  perlfaq3
Programmierwerkzeuge  perlfaq4 Datenbearbeitung  perlfaq5 Dateien und
Formate  perlfaq6 Reguläre Ausdrücke  perlfaq7 Perl-Sprachprobleme 
perlfaq8 System-Interaktion  perlfaq9 Vernetzung

Referenzhandbuch

 perlsyn Perl-Syntax  perldata Perl-Datenstrukturen  perlop
Perl-Operatoren und Vorrang  perlsub Perl-Subroutinen  perlfunc
eingebaute Perl-Funktionen  perlopentut Perl-open()-Anleitung 
perlpacktut Perl-pack()- und -unpack()-Anleitung  perlpod einfache
altertümliche Perl-Dokumentation  perlpodspec einfache altertümliche
Perl-Dokumentation: Formatspezifikation  perlpodstyle
Perl-POD-Stilanleitung  perldiag Perl-Diagnosemeldungen  perldeprecation
Perl-Missbilligungen  perllexwarn Perl-Warnungen und ihre Steuerung 
perldebug Perl-Fehlersuche  perlvar vordefinierte Perl-Variablen  perlre
reguläre Perl-Ausdrücke, der Rest der Geschichte  perlrebackslash reguläre
Perl-Ausdrücke: Rückwärtsschrägstrich-Sequenzen  perlrecharclass reguläre
Perl-Ausdrücke: Zeichenklassen  perlreref reguläre Perl-Ausdrücke:
Schnellreferenz  perlref Perl-Referenzen, der Rest der Geschichte 
perlform Perl-Formate  perlobj Perl-Objekte  perltie Perl-Objekte, die
hinter einfachen Variablen versteckt sind  perldbmfilter Perl-DBM-Filter
  perlipc Perl-Interprozesskommunikation  perlfork
Perl-fork()-Information  perlnumber Perl-Zahlensemantik   perlthrtut
Perl-Threads-Anleitung   perlport Perl-Portabilitätsanleitung 
perllocale Perl-Locale-Unterstützung  perluniintro Perl-Unicode-Einleitung
 perlunicode Perl-Unicode-Unterstützung  perlunicook
Perl-Unicode-Kochbuch  perlunifaq Perl-Unicode FAQ  perluniprops Index
der Unicode-Eigenschaften in Perl  perlunitut Perl Unicode-Anleitung 
perlebcdic Erörterungen zur Ausführung von Perl auf EBCDIC-Plattformen  
perlsec Perl-Sicherheit   perlmod Perl-Module: wie sie funktionieren 
perlmodlib Perl-Module: wie sie zu schreiben und verwenden sind 
perlmodstyle Perl-Module: wie Module mit Stil zu schreiben sind 
perlmodinstall Perl-Module: wie sie von CPAN zu installieren sind 
perlnewmod Perl-Module: Vorbereitung eines Modules zum Vertrieb 
perlpragma Perl-Module: Schreiben eines Benutzer-Pragmas   perlutil
Hilfswerkzeuge, die mit der Perl-Distribution paketiert sind  
perlfilter Perl-Quellcode-Filter   perldtrace Perls Unterstützung für
DTrace   perlglossary Perl Glossar

Interna und C-Sprachschnittstelle

 perlembed Perl-Wege, um Perl in Ihre C- oder C++-Anwendung einzubetten 
perldebguts Perl-Fehlersuche Tipps und Tricks  perlxstut Perl-XS-Anleitung
 perlxs Perl-XS-Anwendungs-Programmierschnittstelle  perlxstypemap
Perl-XS C/Perl type conversion tools  perlclib Interne Ersetzungen für
Standard-C-Bibliotheksfunktionen  perlguts Perl-interne Funktionen für
alle, die Erweiterungen erstellen  perlcall Perl-Aufrufkonvention aus C 
perlmroapi Perl-Methoden-Auflösungs-Erweiterungs-Schnittstelle  perlreapi
reguläre Perl-Ausdrücke: Erweiterungsschnittstelle  perlreguts
Perl-Interna der regulären Ausdruck-Maschine   perlapi
Perl-API-Auflistung (automatisch erstellt)  perlintern Perl-interne
Funktionen (automatisch erstellt)  perliol C-API für Perl's
Implementierung von E/A in Schichten  perlapio Perl-interne
E/A-Abstrahierungsschnittstelle   perlhack Perl-Hacker-Anleitung 
perlsource Anleitung für den Perl-Quellbaum  perlinterp Überblick über die
Quellen des Perl-Interpreters und wie er funktioniert  perlhacktut
Durchlauf durch die Erstellung eines einfachen C-Code-Patches 
perlhacktips Tipps zum Code-Hacking des Perl-Kerns  perlpolicy
Perl-Entwicklungsrichtlinien  perlgit Verwendung von Git mit dem
Perl-Depot

Verschiedenes

 perlbook Perl-Buch-Informationen  perlcommunity
Perl-Gemeinschafts-Informationen   perldoc Perl-Dokumentation im
Pod-Format nachschlagen   perlhist Perl-Geschichtsblätter  perldelta
Perl-Änderungen seit vorherigen Versionen  perl5260delta Perl-Änderungen
in Version 5.26.0  perl5242delta Perl-Änderungen in Version 5.24.2 
perl5241delta Perl-Änderungen in Version 5.24.1  perl5240delta
Perl-Änderungen in Version 5.24.0  perl5224delta Perl-Änderungen in
Version 5.22.4  perl5223delta Perl-Änderungen in Version 5.22.3 
perl5222delta Perl-Änderungen in Version 5.22.2  perl5221delta
Perl-Änderungen in Version 5.22.1  perl5220delta Perl-Änderungen in
Version 5.22.0  perl5203delta Perl-Änderungen in Version 5.20.3 
perl5202delta Perl-Änderungen in Version 5.20.2  perl5201delta
Perl-Änderungen in Version 5.20.1  perl5200delta Perl-Änderungen in
Version 5.20.0  perl5184delta Perl-Änderungen in Version 5.18.4 
perl5182delta Perl-Änderungen in Version 5.18.2  perl5181delta
Perl-Änderungen in Version 5.18.1  perl5180delta Perl-Änderungen in
Version 5.18.0  perl5163delta Perl-Änderungen in Version 5.16.3 
perl5162delta Perl-Änderungen in Version 5.16.2  perl5161delta
Perl-Änderungen in Version 5.16.1  perl5160delta Perl-Änderungen in
Version 5.16.0  perl5144delta Perl-Änderungen in Version 5.14.4 
perl5143delta Perl-Änderungen in Version 5.14.3  perl5142delta
Perl-Änderungen in Version 5.14.2  perl5141delta Perl-Änderungen in
Version 5.14.1  perl5140delta Perl-Änderungen in Version 5.14.0 
perl5125delta Perl-Änderungen in Version 5.12.5  perl5124delta
Perl-Änderungen in Version 5.12.4  perl5123delta Perl-Änderungen in
Version 5.12.3  perl5122delta Perl-Änderungen in Version 5.12.2 
perl5121delta Perl-Änderungen in Version 5.12.1  perl5120delta
Perl-Änderungen in Version 5.12.0  perl5101delta Perl-Änderungen in
Version 5.10.1  perl5100delta Perl-Änderungen in Version 5.10.0 
perl589delta Perl-Änderungen in Version 5.8.9  perl588delta
Perl-Änderungen in Version 5.8.8  perl587delta Perl-Änderungen in Version
5.8.7  perl586delta Perl-Änderungen in Version 5.8.6  perl585delta
Perl-Änderungen in Version 5.8.5  perl584delta Perl-Änderungen in Version
5.8.4  perl583delta Perl-Änderungen in Version 5.8.3  perl582delta
Perl-Änderungen in version 5.8.2  perl581delta Perl-Änderungen in Version
5.8.1  perl58delta Perl-Änderungen in Version 5.8.0  perl561delta
Perl-Änderungen in Version 5.6.1  perl56delta Perl-Änderungen in Version
5.6  perl5005delta Perl-Änderungen in Version 5.005  perl5004delta
Perl-Änderungen in Version 5.004   perlexperiment Eine Liste von
experimentellen Funktionalitäten in Perl   perlartistic Perl Artistic
Lizenz  perlgpl GNU General Public Lizenz

Sprach-Spezifika

 perlcn Perl für vereinfachtes Chinesisch (in EUC-CN)  perljp Perl für
Japanisch (in EUC-JP)  perlko Perl für Koreanisch (in EUC-KR)  perltw
Perl für traditionelles Chinesisch (in Big5)

Plattform-Spezifika

 perlaix Perl-Hinweise für AIX  perlamiga Perl-Hinweise für AmigaOS 
perlandroid Perl-Hinweise für Android  perlbs2000 Perl-Hinweise für
POSIX-BC BS2000  perlce Perl-Hinweise für WinCE  perlcygwin
Perl-Hinweise für Cygwin  perldos Perl-Hinweise für DOS  perlfreebsd
Perl-Hinweise für FreeBSD  perlhaiku Perl-Hinweise für Haiku  perlhpux
Perl-Hinweise für HP-UX  perlhurd Perl-Hinweise für Hurd  perlirix
Perl-Hinweise für Irix  perllinux Perl-Hinweise für Linux  perlmacos
Perl-Hinweise für Mac OS (Classic)  perlmacosx Perl-Hinweise für Mac OS X
 perlnetware Perl-Hinweise für NetWare  perlopenbsd Perl-Hinweise für
OpenBSD  perlos2 Perl-Hinweise für OS/2  perlos390 Perl-Hinweise für
OS/390  perlos400 Perl-Hinweise für OS/400  perlplan9 Perl-Hinweise für
Plan 9  perlqnx Perl-Hinweise für QNX  perlriscos Perl-Hinweise für RISC
OS  perlsolaris Perl-Hinweise für Solaris  perlsymbian Perl-Hinweise für
Symbian  perlsynology Perl-Hinweise für Synology  perltru64
Perl-Hinweise für Tru64  perlvms Perl-Hinweise für VMS  perlvos
Perl-Hinweise für Stratus VOS  perlwin32 Perl-Hinweise für Windows

Stümpfe für gelöschte Dokumente

 perlboot  perlbot  perlrepository  perltodo  perltooc  perltoot

Auf einem Unix-artigen System sind diese Dokumentationsdateien normalerweise auch als Handbuchseite für die Verwendung mit dem Programm man(1) verfügbar.

Ein Teil der Dokumentation ist nicht als Handbuchseite verfügbar. Falls daher eine Kreuzreferenz von man(1) nicht gefunden wird, versuchen Sie es mit perldoc(1). Perldoc kann Sie auch direkt zur Dokumentationen für Funktionen bringen (mit dem Schalter -f). Siehe "perldoc --help" (oder "perldoc perldoc" oder "man perldoc") für weiter hilfreiche Optionen im Angebot.

Im Allgemeinen gilt: Wenn etwas merkwürdiges mit Ihrem Programm schief gelaufen ist und Sie nicht wissen, wo Sie nach Hilfe suchen sollen, dann sollten Sie Ihren Code so anpassen, dass er use strict und use warnings erfüllt. Diese weisen oft darauf hin, wo genau das Problem liegt.

BESCHREIBUNG

Perl steht offiziell für »Practical Extraction and Report Language« (Praktische Auslese- und Berichtssprache), außer wenn das nicht der Fall ist.

Perl war ursprüngliche eine Sprache, die zum Durchsuchen beliebiger Textdateien, Auslesen von Informationen aus diesen Textdateien und zum Ausgeben von Berichten basierend auf diesen Informationen optimiert wurde. Sie wurde schnell eine gute Sprache für viele Systemverwaltungsaufgaben. Im Laufe der Jahre wuchs Perl zu einer Allzweck-Programmiersprache heran. Sie wird breit für alles von schnellen [u00BB]Einzeilern[u00AB] bis zur vollausgewachsenen Anwendungsentwicklung verwandt.

Die Sprache ist für praktischen (leichte Verwendung, effizient, komplett) statt schönen Einsatz (klein, elegant, minimal) gedacht. Sie kombiniert (zumindest in der Meinung des Autors) einige der besten Funktionalitäten von sed(1), awk(1) und sh(1), wodurch sie für UNIX-Benutzer vertraut und einfach verwandt werden kann, um schnell eine Lösung für nervende Probleme zusammenzustellen. Ihre Allzweck-Programmier-Einrichtungen unterstützen prozedurale, funktionale und objektorientierte Programmier-Paradigmen, wodurch Perl eine bequeme Sprache für den größten Teil der wichtigsten Projekte wird, wie auch immer Sie es drehen.

Perls Wurzeln in der Textverabeitung wurden im Lauf der Jahre nicht vergessen. Sie rühmt sich immer noch mit den leistungsfähigsten regulären Ausdrücken und ihre Unterstützung für Unicode-Text ist Weltspitze. Sie handhabt auch sämtliche Arten von strukturiertem Text mittels einer umfangreichen Sammlung an Erweiterungen. Diese Bibliotheken, gesammelt im »CPAN«, stellen einsatzbereite Lösungen für eine verblüffende Anzahl an Problemen bereit. Wenn sie nicht selbst den Standard gesetzt haben, dann klauen sie von den Besten -- genau wie Perl selbst.

VERFÜGBARKEIT

Perl ist für die meisten Betriebssysteme verfügbar, einschließlich praktisch aller Unix-artigen Plattformen. Siehe "Supported Platforms" in perlport(1) für eine Auflistung.

UMGEBUNGSVARIABLEN

Siehe perlrun(1).

AUTOR

Larry Wall <larry@wall.org> mit der Hilfe von einer Unmenge anderer Leute.

Falls Ihre Perl-Erfolgsgeschichten und Erfahrungsberichte anderen, die den Einsatz von Perl in ihren Anwendungen bewerben möchten, helfen könnten oder Sie einfach Ihre Dankbarkeit an Larry und die Perl-Entwickler ausdrücken möchten, schreiben Sie bitte auf Englisch an perl-thanks@perl.org.

DATEIEN

 "@INC" Ort der Perl-Bibliotheken

Vorstehendes "@INC" ist eine Referenz an die eingebaute Variable mit dem gleichen Namen; siehe perlvar(1) für weitere Informationen.

SIEHE AUCH

 https//www.perl.org/ die Perl-Homepage  http://www.perl.com/
Perl-Artikel(O'Reilly)  http://www.cpan.org/ das Umfassende
Perl-Archiv  http://www.pm.org/ die Perl-Händler

DIAGNOSE

Die Verwendung des Pragmas "use strict" stellt sicher, dass alle Variablen vernünftig deklariert sind und verhindert andere Missbräuche veralteter Perl-Funktionalitäten.

Das Pragma "use warnings" erstellt liebenswerte Diagnosen. Sie können auch den Schalter -w verwenden, aber sein Einsatz wird normalerweise missbilligt, da er auf sämtlichen ausgeführten Perl-Code angewandt wird, einschließlich dem Teil, der nicht Ihrer Kontrolle unterliegt.

Siehe perldiag(1) für Erklärungen sämtlicher Perl-Diagnosen. Das Pragma "use diagnostics" schaltet automatisch die knappen Warnungen und Fehler in diese längeren Formen.

Kompilierungsfehler teilen Ihnen die Zeilennummer des Fehlers unter der Angabe, welches nächste Token oder welcher nächste Token-Typ untersucht werden soll, mit. (In einem an Perl mittels des Schalters -e übergebenen Skript zählt jedes -e als eine Zeile.)

Setuid-Skripte unterliegen zusätzlichen Beschränkungen, die Fehlermeldungen wie "Insecure dependency" ausgeben können. Siehe perlsec(1).

Haben wir erwähnt, dass Sie die Verwendung des Pragmas use warnings in Betracht ziehen sollen?

FEHLER

Das vom Pragma use warnings implizierte Verhalten ist nicht verpflichtend.

Perl ist den Definitionen Ihrer Maschine für verschiedene Operationen wie Typ-Bestimmung, atof(3) und der Ausgabe von Fließkommazahlen mit sprintf(3) ausgeliefert.

Falls Ihr Stdio ein Seek oder EOF zwischen Lese- und Schreibaktionen bei einem bestimmten Datenstrom benötigt, trifft dies auch auf Perl zu. (Dies trifft nicht auf sysread() und syswrite() zu.)

Obwohl keine der eingebauten Datentypen irgendeiner willkürlichen Größenbeschränkung unterliegt (abgesehen von der Speichergröße), gibt es dennoch ein paar willkürliche Beschränkungen: ein bestimmter Variablenname darf nicht länger als 251 Zeichen sein. Zur Diagnose angezeigte Zeilennummern werden intern als kurze Ganzzahlen gespeichert, daher sind sie auf ein Maximum von 65535 beschränkt (höhere Nummern unterliegen normalerweise einem Überlauf und fangen wieder von vorne an).

Sie können Ihre Fehlerberichte auf Englisch an perlbug@perl.org schicken. Denken Sie daran, die vollständigen Konfigurationsinformationen als Ausgabe des Programms »myconfig« im Perl-Quellbaum oder mittels "perl -V" beizufügen. Falls Sie Perl erfolgreich kompiliert haben, kann das Skript perlbug in dem Unterverzeichnis utils/ Ihnen beim Schicken eines Fehlerberichts helfen.

Perl steht eigentlich für »Pathologically Eclectic Rubbish Lister« (Pathologischer, wählerischer Müllauflister). Verraten Sie aber nicht, dass ich Ihnen das gesagt habe.

ANMERKUNGEN

Das Perl-Motto lautet "Es gibt mehr als einen Weg, es zu erledigen." Weiszusagen, wie viele noch übergeblieben sind, ist eine Hausaufgabe für den Leser.

Die drei Haupttugenden eines Programmierers sind Faulheit, Ungeduld und Überheblichkeit. Lesen Sie das Kamelbuch für die Begründung.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

2. September 2022 perl v5.26.1