PERL(1perl) Perl-Referenzanleitung fur Programmierer PERL(1perl)
BEZEICHNUNG
perl - Der Perl-5-Sprachinterpreter
UBERSICHT
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 ]>
Fur weitere Informationen uber diese Optionen konnen Sie >>perldoc
perlrun<< ausfuhren.
HILFE ERHALTEN
Das Programm perldoc(1) gibt Ihnen auf die gesamte Dokumentation
Zugriff, die mit Perl kommt. Sie konnen weitere Dokumentation,
Anleitungen und Hilfe aus der Gemeinschaft online unter
erhalten.
Falls Sie bei Perl neu dabei sind, sollten Sie am Anfang >>perldoc
perlintro<< ausfuhren. Hier finden Sie eine allgemeine Einfuhrung fur
Anfanger und es werden Hintergrundinformationen bereitgestellt, um
Ihnen beim Navigieren durch die restliche ausfuhrliche
Perl-Dokumentation zu helfen. Fuhren Sie >>perldoc perldoc<< aus, um
mehr daruber zu erfahren, was Sie mit perldoc(1) machen konnen.
Um den Zugriff zu erleichtern, wurde das Perl-Handbuch in mehrere
Abschnitte aufgeteilt.
Uberblick
perl Perl-Uberblick (dieser Abschnitt)
perlintro Perl-Einfuhrung fur Anfanger
perlrun Perl-Ausfuhrung und -Optionen
perltoc Inhaltsverzeichnis der Perl-Dokumentation
Anleitungen
perlreftut Perl-Referenzen - kurze Einfuhrung
perldsc Perl-Datenstrukturen: Einleitung
perllol Perl-Datenstrukturen: Felder von Feldern
perlrequick regulare Perl-Ausdrucke: Schnellstart
perlretut regulare Perl-Ausdrucke: Anleitung
perlootut Perl-OO-Anleitung fur Anfanger
perlperf Perl-Leistung- und -Optimierungstechniken
perlstyle Perl-Stil-Anleitung
perlcheat Spickzettel fur Perl
perltrap Perl-Fallen fur die Unaufmerksamen
perldebtut Perl-Fehlersuch-Anleitung
perlfaq haufig gestellte Fragen zu Perl
perlfaq1 Allgemeine Fragen uber Perl
perlfaq2 Finden von und Lernen uber Perl
perlfaq3 Programmierwerkzeuge
perlfaq4 Datenbearbeitung
perlfaq5 Dateien und Formate
perlfaq6 Regulare Ausdrucke
perlfaq7 Perl-Sprachprobleme
perlfaq8 System-Interaktion
perlfaq9 Vernetzung
Referenzhandbuch
perlsyn Perl-Syntax: Deklarationen, Aussagen, Kommentare
perldata Perl-Datenstrukturen
perlop Perl-Ausdrucke: Operatoren, Vorrang, wortliche Zeichenketten
perlsub Perl-Subroutinen
perlfunc eingebaute Perl-Funktionen
perlopentut Perl-open()-Anleitung
perlpacktut Perl-pack()- und -unpack()-Anleitung
perlpod einfache altertumliche Perl-Dokumentation
perlpodspec einfache altertumliche Perl-Dokumentation: Formatspezifikation
perldocstyle Perl-Stilanleitung fur Kerndokumentation
perlpodstyle Perl-POD-Stilanleitung
perldiag Perl-Diagnosemeldungen
perldeprecation Perl-Missbilligungen
perllexwarn Perl-Warnungen und ihre Steuerung
perldebug Perl-Fehlersuche
perlvar vordefinierte Perl-Variablen
perlre regulare Perl-Ausdrucke, der Rest der Geschichte
perlrebackslash regulare Perl-Ausdrucke: Ruckwartsschragstrich-Sequenzen
perlrecharclass regulare Perl-Ausdrucke: Zeichenklassen
perlreref regulare Perl-Ausdrucke: 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
perlclass Perl-Klassensyntax
perlipc Perl-Interprozesskommunikation
perlfork Perl-fork()-Information
perlnumber Perl-Zahlensemantik
perlthrtut Perl-Threads-Anleitung
perlport Perl-Portabilitatsanleitung
perllocale Perl-Locale-Unterstutzung
perluniintro Perl-Unicode-Einleitung
perlunicode Perl-Unicode-Unterstutzung
perlunicook Perl-Unicode-Kochbuch
perlunifaq Perl-Unicode FAQ
perluniprops Index der Unicode-Eigenschaften in Perl
perlunitut Perl-Unicode-Anleitung
perlebcdic Erorterungen zur Ausfuhrung von Perl auf EBCDIC-Plattformen
perlsec Perl-Sicherheit
perlsecpolicy Handhabung von Perl-Sicherheitsmeldungen
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 Unterstutzung fur 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-Typumwandlungswerkzeuge
perlclib Interagieren mit Standard-C-Bibliotheksfunktionen
perlguts Perl-interne Funktionen fur alle, die Erweiterungen erstellen
perlcall Perl-Aufrufkonvention aus C
perlmroapi Perl-Methoden-Auflosungs-Erweiterungs-Schnittstelle
perlreapi regulare Perl-Ausdrucke: Erweiterungsschnittstelle
perlreguts Perl-Interna der regularen Ausdruck-Maschine
perlclassguts Interna der Klassensyntax
perlapi Perl-API-Auflistung (automatisch erstellt)
perlintern Perl-interne Funktionen (automatisch erstellt)
perliol C-API fur Perl's Implementierung von E/A in Schichten
perlapio Perl-interne E/A-Abstrahierungsschnittstelle
perlhack Perl-Hacker-Anleitung
perlsource Anleitung fur den Perl-Quellbaum
perlinterp Uberblick uber 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
perlgov Perl-Regeln der Projektsteuerung
perlgit Verwendung von Git mit dem Perl-Depot
Geschichte
perlhist Perl-Geschichtsblatter
perldelta Perl-Anderungen seit vorherigen Versionen
perl5421delta Perl-Anderungen in Version 5.42.1
perl5420delta Perl-Anderungen in Version 5.42.0
perl5403delta Perl-Anderungen in Version 5.40.3
perl5402delta Perl-Anderungen in Version 5.40.2
perl5401delta Perl-Anderungen in Version 5.40.1
perl5400delta Perl-Anderungen in Version 5.40.0
perl5385delta Perl-Anderungen in Version 5.38.5
perl5384delta Perl-Anderungen in Version 5.38.4
perl5383delta Perl-Anderungen in Version 5.38.3
perl5382delta Perl-Anderungen in Version 5.38.2
perl5381delta Perl-Anderungen in Version 5.38.1
perl5380delta Perl-Anderungen in Version 5.38.0
perl5363delta Perl-Anderungen in Version 5.36.3
perl5362delta Perl-Anderungen in Version 5.36.2
perl5361delta Perl-Anderungen in Version 5.36.1
perl5360delta Perl-Anderungen in Version 5.36.0
perl5343delta Perl-Anderungen in Version 5.34.3
perl5342delta Perl-Anderungen in Version 5.34.2
perl5341delta Perl-Anderungen in Version 5.34.1
perl5340delta Perl-Anderungen in Version 5.34.0
perl5321delta Perl-Anderungen in Version 5.32.1
perl5320delta Perl-Anderungen in Version 5.32.0
perl5303delta Perl-Anderungen in Version 5.30.3
perl5302delta Perl-Anderungen in Version 5.30.2
perl5301delta Perl-Anderungen in Version 5.30.1
perl5300delta Perl-Anderungen in Version 5.30.0
perl5283delta Perl-Anderungen in Version 5.28.3
perl5282delta Perl-Anderungen in Version 5.28.2
perl5281delta Perl-Anderungen in Version 5.28.1
perl5280delta Perl-Anderungen in Version 5.28.0
perl5263delta Perl-Anderungen in Version 5.26.3
perl5262delta Perl-Anderungen in Version 5.26.2
perl5261delta Perl-Anderungen in Version 5.26.1
perl5260delta Perl-Anderungen in Version 5.26.0
perl5244delta Perl-Anderungen in Version 5.24.4
perl5243delta Perl-Anderungen in Version 5.24.3
perl5242delta Perl-Anderungen in Version 5.24.2
perl5241delta Perl-Anderungen in Version 5.24.1
perl5240delta Perl-Anderungen in Version 5.24.0
perl5224delta Perl-Anderungen in Version 5.22.4
perl5223delta Perl-Anderungen in Version 5.22.3
perl5222delta Perl-Anderungen in Version 5.22.2
perl5221delta Perl-Anderungen in Version 5.22.1
perl5220delta Perl-Anderungen in Version 5.22.0
perl5203delta Perl-Anderungen in Version 5.20.3
perl5202delta Perl-Anderungen in Version 5.20.2
perl5201delta Perl-Anderungen in Version 5.20.1
perl5200delta Perl-Anderungen in Version 5.20.0
perl5184delta Perl-Anderungen in Version 5.18.4
perl5182delta Perl-Anderungen in Version 5.18.2
perl5181delta Perl-Anderungen in Version 5.18.1
perl5180delta Perl-Anderungen in Version 5.18.0
perl5163delta Perl-Anderungen in Version 5.16.3
perl5162delta Perl-Anderungen in Version 5.16.2
perl5161delta Perl-Anderungen in Version 5.16.1
perl5160delta Perl-Anderungen in Version 5.16.0
perl5144delta Perl-Anderungen in Version 5.14.4
perl5143delta Perl-Anderungen in Version 5.14.3
perl5142delta Perl-Anderungen in Version 5.14.2
perl5141delta Perl-Anderungen in Version 5.14.1
perl5140delta Perl-Anderungen in Version 5.14.0
perl5125delta Perl-Anderungen in Version 5.12.5
perl5124delta Perl-Anderungen in Version 5.12.4
perl5123delta Perl-Anderungen in Version 5.12.3
perl5122delta Perl-Anderungen in Version 5.12.2
perl5121delta Perl-Anderungen in Version 5.12.1
perl5120delta Perl-Anderungen in Version 5.12.0
perl5101delta Perl-Anderungen in Version 5.10.1
perl5100delta Perl-Anderungen in Version 5.10.0
perl589delta Perl-Anderungen in Version 5.8.9
perl588delta Perl-Anderungen in Version 5.8.8
perl587delta Perl-Anderungen in Version 5.8.7
perl586delta Perl-Anderungen in Version 5.8.6
perl585delta Perl-Anderungen in Version 5.8.5
perl584delta Perl-Anderungen in Version 5.8.4
perl583delta Perl-Anderungen in Version 5.8.3
perl582delta Perl-Anderungen in version 5.8.2
perl581delta Perl-Anderungen in Version 5.8.1
perl58delta Perl-Anderungen in Version 5.8.0
perl561delta Perl-Anderungen in Version 5.6.1
perl56delta Perl-Anderungen in Version 5.6
perl5005delta Perl-Anderungen in Version 5.005
perl5004delta Perl-Anderungen in Version 5.004
Verschiedenes
perlbook Perl-Buch-Informationen
perlcommunity Perl-Gemeinschafts-Informationen
perldoc Perl-Dokumentation im Pod-Format nachschlagen
perlexperiment Eine Liste von experimentellen Funktionalitaten in Perl
perlartistic Perl Artistic Lizenz
perlgpl GNU General Public Lizenz
Sprach-Spezifika
perlcn Perl fur vereinfachtes Chinesisch (in UTF-8)
perljp Perl fur Japanisch (in EUC-JP)
perlko Perl fur Koreanisch (in EUC-KR)
perltw Perl fur traditionelles Chinesisch (in Big5)
Plattform-Spezifika
perlaix Perl-Hinweise fur AIX
perlamiga Perl-Hinweise fur AmigaOS
perlandroid Perl-Hinweise fur Android
perlbs2000 Perl-Hinweise fur POSIX-BC BS2000
perlcygwin Perl-Hinweise fur Cygwin
perlfreebsd Perl-Hinweise fur FreeBSD
perlhaiku Perl-Hinweise fur Haiku
perlhpux Perl-Hinweise fur HP-UX
perlhurd Perl-Hinweise fur Hurd
perlirix Perl-Hinweise fur Irix
perllinux Perl-Hinweise fur Linux
perlmacosx Perl-Hinweise fur Mac OS X
perlopenbsd Perl-Hinweise fur OpenBSD
perlos2 Perl-Hinweise fur OS/2
perlos390 Perl-Hinweise fur OS/390
perlos400 Perl-Hinweise fur OS/400
perlplan9 Perl-Hinweise fur Plan 9
perlqnx Perl-Hinweise fur QNX
perlriscos Perl-Hinweise fur RISC OS
perlsolaris Perl-Hinweise fur Solaris
perlsynology Perl-Hinweise fur Synology
perltru64 Perl-Hinweise fur Tru64
perlvms Perl-Hinweise fur VMS
perlvos Perl-Hinweise fur Stratus VOS
perlwin32 Perl-Hinweise fur Windows
Stumpfe fur geloschte Dokumente
perlboot
perlbot
perlrepository
perltodo
perltooc
perltoot
Auf einem Unix-artigen System sind diese Dokumentationsdateien
normalerweise auch als Handbuchseite fur die Verwendung mit dem
Programm man(1) verfugbar.
Ein Teil der Dokumentation ist nicht als Handbuchseite verfugbar. Falls
daher eine Kreuzreferenz von man(1) nicht gefunden wird, versuchen Sie
es mit perldoc(1). Perldoc kann Sie auch direkt zur Dokumentationen fur
Funktionen bringen (mit dem Schalter -f). Siehe >>perldoc --help<<
(oder >>perldoc perldoc<< oder >>man perldoc<<) fur weiter hilfreiche
Optionen im Angebot.
Im Allgemeinen gilt: Wenn etwas merkwurdiges 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 erfullt. Diese weisen oft darauf hin, wo genau das Problem
liegt.
BESCHREIBUNG
Perl steht offiziell fur >>Practical Extraction and Report Language<<
(Praktische Auslese- und Berichtssprache), ausser wenn das nicht der
Fall ist.
Perl war ursprungliche 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 fur viele
Systemverwaltungsaufgaben. Im Laufe der Jahre wuchs Perl zu einer
Allzweck-Programmiersprache heran. Sie wird breit fur alles von
schnellen >>Einzeilern<< bis zur vollausgewachsenen
Anwendungsentwicklung verwandt.
Die Sprache ist fur praktischen (leichte Verwendung, effizient,
komplett) statt schonen Einsatz (klein, elegant, minimal) gedacht. Sie
kombiniert (zumindest in der Meinung des Autors) einige der besten
Funktionalitaten von sed(1), awk(1) und sh(1), wodurch sie fur
UNIX-Benutzer vertraut und einfach verwandt werden kann, um schnell
eine Losung fur nervende Probleme zusammenzustellen. Ihre
Allzweck-Programmier-Einrichtungen unterstutzen prozedurale,
funktionale und objektorientierte Programmier-Paradigmen, wodurch Perl
eine bequeme Sprache fur den grossten Teil der wichtigsten Projekte
wird, wie auch immer Sie es drehen.
Perls Wurzeln in der Textverarbeitung wurden im Lauf der Jahre nicht
vergessen. Sie ruhmt sich immer noch mit den leistungsfahigsten
regularen Ausdrucken und ihre Unterstutzung fur Unicode-Text ist
Weltspitze. Sie handhabt auch samtliche Arten von strukturiertem Text
mittels einer umfangreichen Sammlung an Erweiterungen. Diese
Bibliotheken, gesammelt im CPAN, stellen einsatzbereite Losungen fur
eine verbluffende Anzahl an Problemen bereit. Wenn sie nicht selbst den
Standard gesetzt haben, dann klauen sie von den Besten -- genau wie
Perl selbst.
VERFUGBARKEIT
Perl ist fur die meisten Betriebssysteme verfugbar, einschliesslich
praktisch aller Unix-artigen Plattformen. Siehe >>Supported Platforms<<
in perlport(1) fur eine Auflistung.
UMGEBUNGSVARIABLEN
Siehe >>ENVIRONMENT<< in perlrun(1).
AUTOR
Larry Wall mit der Hilfe von einer Unmenge anderer
Leute.
Falls Ihre Perl-Erfolgsgeschichten und Erfahrungsberichte anderen, die
den Einsatz von Perl in ihren Anwendungen bewerben mochten, helfen
konnten oder Sie einfach Ihre Dankbarkeit an Larry und die
Perl-Entwickler ausdrucken mochten, 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) fur weitere Informationen.
SIEHE AUCH
Die Homepage von Perl
Perl-Artikel
Das Umfassende Perl-Archiv
Die Perl-Handler
DIAGNOSE
Die Verwendung des Pragmas >>use strict<< stellt sicher, dass alle
Variablen vernunftig deklariert sind und verhindert andere Missbrauche
veralteter Perl-Funktionalitaten. Diese sind innerhalb des
Geltungsbereichs von >>use v5.12<< (oder hoher) standardmassig
aktiviert.
Das Pragma >>use warnings<< erstellt liebenswerte Diagnosen. Es wird
standardmassig aktiviert, wenn Sie >>use v5.35<< (oder hoher) angeben.
Sie konnen auch den Schalter -w verwenden, aber sein Einsatz wird
normalerweise missbilligt, da er auf samtlichen ausgefuhrten Perl-Code
angewandt wird, einschliesslich dem Teil, der nicht Ihrer Kontrolle
unterliegt.
Siehe perldiag(1) fur Erklarungen samtlicher Perl-Diagnosen. Das Pragma
>>use diagnostics<< schaltet automatisch die knappen Warnungen und
Fehler in diese langeren Formen.
Kompilierungsfehler teilen Ihnen die Zeilennummer des Fehlers unter der
Angabe, welches nachste Token oder welcher nachste Token-Typ untersucht
werden soll, mit. (In einem an Perl mittels des Schalters -e
ubergebenen Skript zahlt jedes -e als eine Zeile.)
Setuid-Skripte unterliegen zusatzlichen Beschrankungen, die
Fehlermeldungen wie >>Insecure dependency<< ausgeben konnen. Siehe
perlsec(1).
Haben wir erwahnt, 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 fur verschiedene Operationen
wie Typ-Bestimmung, atof(3) und der Ausgabe von Fliesskommazahlen mit
sprintf(3) ausgeliefert.
Falls Ihr Stdio ein Seek oder EOF zwischen Lese- und Schreibaktionen
bei einem bestimmten Datenstrom benotigt, trifft dies auch auf Perl zu.
(Dies trifft nicht auf sysread() und syswrite() zu.)
Obwohl keine der eingebauten Datentypen irgendeiner willkurlichen
Grossenbeschrankung unterliegt (abgesehen von der Speichergrosse), gibt
es dennoch ein paar willkurliche Beschrankungen: ein bestimmter
Variablenname darf nicht langer als 251 Zeichen sein. Zur Diagnose
angezeigte Zeilennummern werden intern als kurze Ganzzahlen
gespeichert, daher sind sie auf ein Maximum von 65535 beschrankt
(hohere Nummern unterliegen normalerweise einem Uberlauf und fangen
wieder von vorne an).
Sie konnen Ihre Fehlerberichte auf Englisch unter
einreichen. Denken Sie daran,
die vollstandigen Konfigurationsinformationen als Ausgabe des Programms
>>myconfig<< im Perl-Quellbaum oder mittels >>perl -V<< beizufugen.
Perl steht eigentlich fur >>Pathologically Eclectic Rubbish Lister<<
(Pathologischer, wahlerischer Mullauflister). 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 ubergeblieben sind, ist eine Hausaufgabe
fur den Leser.
Die drei Haupttugenden eines Programmierers sind Faulheit, Ungeduld und
Uberheblichkeit. Lesen Sie das Kamelbuch fur die Begrundung.
UBERSETZUNG
Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge
Kreutzmann erstellt.
Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General
Public License Version 3
oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG
ubernommen.
Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden,
schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer
.
perl v5.42.2 2. April 2026 PERL(1perl)