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)