| 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 <https://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ürAnfänger perlrun Perl-Ausführung und -Optionen perltocInhaltsverzeichnis der Perl-Dokumentation
Anleitungen
perlreftut Perl-Referenzen - kurze Einführung perldscPerl-Datenstrukturen: Einleitung perllol Perl-Datenstrukturen: Felder vonFeldern perlrequick reguläre Perl-Ausdrücke: Schnellstart perlretutreguläre Perl-Ausdrücke: Anleitung perlootut Perl-OO-Anleitung fürAnfänger perlperf Perl-Leistung- und -Optimierungstechniken perlstyle Perl-Stil-Anleitung perlcheat Perl-Schummelseite perltrapPerl-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 perlfaq3Programmierwerkzeuge perlfaq4 Datenbearbeitung perlfaq5 Dateien undFormate perlfaq6 Reguläre Ausdrücke perlfaq7 Perl-Sprachprobleme perlfaq8 System-Interaktion perlfaq9 Vernetzung
Referenzhandbuch
perlsyn Perl-Syntax perldata Perl-Datenstrukturen perlopPerl-Operatoren und Vorrang perlsub Perl-Subroutinen perlfunceingebaute Perl-Funktionen perlopentut Perl-open()-Anleitung perlpacktut Perl-pack()- und -unpack()-Anleitung perlpod einfachealtertümliche Perl-Dokumentation perlpodspec einfache altertümlichePerl-Dokumentation: Formatspezifikation perldocstyle Perl-Stilanleitungfür Kerndokumentation perlpodstyle Perl-POD-Stilanleitung perldiagPerl-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 Variablenversteckt sind perldbmfilter Perl-DBM-Filter perlipcPerl-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 perlunicodePerl-Unicode-Unterstützung perlunicook Perl-Unicode-Kochbuch perlunifaq Perl-Unicode FAQ perluniprops Index der Unicode-Eigenschaftenin Perl perlunitut Perl-Unicode-Anleitung perlebcdic Erörterungen zurAusführung von Perl auf EBCDIC-Plattformen perlsec Perl-Sicherheit perlsecpolicy Handhabung von Perl-Sicherheitsmeldungen perlmodPerl-Module: wie sie funktionieren perlmodlib Perl-Module: wie sie zuschreiben und verwenden sind perlmodstyle Perl-Module: wie Module mitStil zu schreiben sind perlmodinstall Perl-Module: wie sie von CPAN zuinstallieren sind perlnewmod Perl-Module: Vorbereitung eines Modules zumVertrieb 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ürDTrace 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 perlxstypemapPerl-XS-C/Perl-Typumwandlungswerkzeuge perlclib Interne Ersetzungen fürStandard-C-Bibliotheksfunktionen perlguts Perl-interne Funktionen füralle, die Erweiterungen erstellen perlcall Perl-Aufrufkonvention aus C perlmroapi Perl-Methoden-Auflösungs-Erweiterungs-Schnittstelle perlreapireguläre Perl-Ausdrücke: Erweiterungsschnittstelle perlregutsPerl-Interna der regulären Ausdruck-Maschine perlapiPerl-API-Auflistung (automatisch erstellt) perlintern Perl-interneFunktionen (automatisch erstellt) perliol C-API für Perl'sImplementierung von E/A in Schichten perlapio Perl-interneE/A-Abstrahierungsschnittstelle perlhack Perl-Hacker-Anleitung perlsource Anleitung für den Perl-Quellbaum perlinterp Überblick über dieQuellen des Perl-Interpreters und wie er funktioniert perlhacktutDurchlauf durch die Erstellung eines einfachen C-Code-Patches perlhacktips Tipps zum Code-Hacking des Perl-Kerns perlpolicyPerl-Entwicklungsrichtlinien perlgov Perl-Regeln der Projektsteuerung perlgit Verwendung von Git mit dem Perl-Depot
Geschichte
perlhist Perl-Geschichtsblätter perldelta Perl-Änderungen seit vorherigenVersionen perl5341delta Perl changes in version 5.34.1 perl5340deltaPerl changes in version 5.34.0 perl5321delta Perl-Perl-Änderungen inVersion 5.32.1 perl5320delta Perl-Änderungen in Version 5.32.0 perl5303delta Perl-Änderungen in Version 5.30.3 perl5302deltaPerl-Änderungen in Version 5.30.2 perl5301delta Perl-Änderungen inVersion 5.30.1 perl5300delta Perl-Änderungen in Version 5.30.0 perl5283delta Perl-Änderungen in Version 5.28.3 perl5282deltaPerl-Änderungen in Version 5.28.2 perl5281delta Perl-Änderungen inVersion 5.28.1 perl5280delta Perl-Änderungen in Version 5.28.0 perl5263delta Perl-Änderungen in Version 5.26.3 perl5262deltaPerl-Änderungen in Version 5.26.2 perl5261delta Perl-Änderungen inVersion 5.26.1 perl5260delta Perl-Änderungen in Version 5.26.0 perl5244delta Perl-Änderungen in Version 5.24.4 perl5243deltaPerl-Änderungen in Version 5.24.3 perl5242delta Perl-Änderungen inVersion 5.24.2 perl5241delta Perl-Änderungen in Version 5.24.1 perl5240delta Perl-Änderungen in Version 5.24.0 perl5224deltaPerl-Änderungen in Version 5.22.4 perl5223delta Perl-Änderungen inVersion 5.22.3 perl5222delta Perl-Änderungen in Version 5.22.2 perl5221delta Perl-Änderungen in Version 5.22.1 perl5220deltaPerl-Änderungen in Version 5.22.0 perl5203delta Perl-Änderungen inVersion 5.20.3 perl5202delta Perl-Änderungen in Version 5.20.2 perl5201delta Perl-Änderungen in Version 5.20.1 perl5200deltaPerl-Änderungen in Version 5.20.0 perl5184delta Perl-Änderungen inVersion 5.18.4 perl5182delta Perl-Änderungen in Version 5.18.2 perl5181delta Perl-Änderungen in Version 5.18.1 perl5180deltaPerl-Änderungen in Version 5.18.0 perl5163delta Perl-Änderungen inVersion 5.16.3 perl5162delta Perl-Änderungen in Version 5.16.2 perl5161delta Perl-Änderungen in Version 5.16.1 perl5160deltaPerl-Änderungen in Version 5.16.0 perl5144delta Perl-Änderungen inVersion 5.14.4 perl5143delta Perl-Änderungen in Version 5.14.3 perl5142delta Perl-Änderungen in Version 5.14.2 perl5141deltaPerl-Änderungen in Version 5.14.1 perl5140delta Perl-Änderungen inVersion 5.14.0 perl5125delta Perl-Änderungen in Version 5.12.5 perl5124delta Perl-Änderungen in Version 5.12.4 perl5123deltaPerl-Änderungen in Version 5.12.3 perl5122delta Perl-Änderungen inVersion 5.12.2 perl5121delta Perl-Änderungen in Version 5.12.1 perl5120delta Perl-Änderungen in Version 5.12.0 perl5101deltaPerl-Änderungen in Version 5.10.1 perl5100delta Perl-Änderungen inVersion 5.10.0 perl589delta Perl-Änderungen in Version 5.8.9 perl588delta Perl-Änderungen in Version 5.8.8 perl587deltaPerl-Änderungen in Version 5.8.7 perl586delta Perl-Änderungen in Version5.8.6 perl585delta Perl-Änderungen in Version 5.8.5 perl584deltaPerl-Änderungen in Version 5.8.4 perl583delta Perl-Änderungen in Version5.8.3 perl582delta Perl-Änderungen in version 5.8.2 perl581deltaPerl-Änderungen in Version 5.8.1 perl58delta Perl-Änderungen in Version5.8.0 perl561delta Perl-Änderungen in Version 5.6.1 perl56deltaPerl-Änderungen in Version 5.6 perl5005delta Perl-Änderungen in Version5.005 perl5004delta Perl-Änderungen in Version 5.004
Verschiedenes
perlbook Perl-Buch-Informationen perlcommunityPerl-Gemeinschafts-Informationen perldoc Perl-Dokumentation imPod-Format nachschlagen perlexperiment Eine Liste von experimentellenFunktionalitäten in Perl perlartistic Perl Artistic Lizenz perlgplGNU General Public Lizenz
Sprach-Spezifika
perlcn Perl für vereinfachtes Chinesisch (in UTF-8) perljp Perl fürJapanisch (in EUC-JP) perlko Perl für Koreanisch (in EUC-KR) perltwPerl 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ürPOSIX-BC BS2000 perlcygwin Perl-Hinweise für Cygwin perlfreebsdPerl-Hinweise für FreeBSD perlhaiku Perl-Hinweise für Haiku perlhpuxPerl-Hinweise für HP-UX perlhurd Perl-Hinweise für Hurd perlirixPerl-Hinweise für Irix perllinux Perl-Hinweise für Linux perlmacosxPerl-Hinweise für Mac OS X 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 perlsynology Perl-Hinweise fürSynology perltru64 Perl-Hinweise für Tru64 perlvms Perl-Hinweise fürVMS perlvos Perl-Hinweise für Stratus VOS perlwin32 Perl-Hinweise fürWindows
Stümpfe für gelöschte Dokumente
perlboot perlbot perlrepository perltodo perltooc perltoot
Auf Debian-Systemen müssen Sie das Paket perl-doc installieren, das den Großteil der Standard-Perl-Dokumentation und das Programm perldoc(1) enthält.
Es ist eine ausführliche zusätzliche Dokumentation für Perl-Module verfügbar, sowohl von denen mit Perl vertriebenen als auch von denen Dritter, die paketiert oder lokal installiert sind.
Sie sollten die Perl-Dokumentation mit Ihrem Programm man(1) oder perldoc(1) betrachten können.
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 "ENVIRONMENT" in perlrun(1).
AUTOR
Larry Wall <[email protected]> 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 [email protected].
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 https://www.perl.com/Perl-Artikel https://www.cpan.org/ das Umfassende Perl-Archiv https://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. Diese sind innerhalb des Geltungsbereichs von "use v5.12" (oder höher) standardmäßig aktiviert.
Das Pragma "use warnings" erstellt liebenswerte Diagnosen. Es wird standardmäßig aktiviert, wenn Sie "use v5.35" (oder höher) angeben. 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 unter <https://github.com/Perl/perl5/issues> einreichen. Denken Sie daran, die vollständigen Konfigurationsinformationen als Ausgabe des Programms »myconfig« im Perl-Quellbaum oder mittels "perl -V" beizufügen.
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 <[email protected]> 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.
| 8. Januar 2023 | perl v5.36.0 |