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 Perl-Schummelseite 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 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
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 perlclass Perl-Klassensyntax perldbmfilter
Perl-DBM-Filter 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 Interne Ersetzungen fur
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 vorheriger
Version 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 Textverabeitung 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
https://www.perl.org/ die Perl-Homepage https://www.perl.com/
Perl-Artikel https://www.cpan.org/ das Umfassende Perl-Archiv
https://www.pm.org/ 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.38.2 11. Februar 2024 PERL(1perl)