perl - Der Perl-5-Sprachinterpreter
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.
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.
perl Perl-Überblick (dieser Abschnitt) perlintro Perl-Einführung für
Anfänger perlrun Perl-Ausführung und -Optionen perltoc
Inhaltsverzeichnis der Perl-Dokumentation
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
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 perldocstyle Perl-Stilanleitung
für 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 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
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 Unterstützung für
DTrace perlglossary Perl Glossar
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 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 perlgov Perl-Regeln der Projektsteuerung
perlgit Verwendung von Git mit dem Perl-Depot
perlhist Perl-Geschichtsblätter perldelta Perl-Änderungen seit vorherigen
Versionen perl5341delta Perl changes in version 5.34.1 perl5340delta
Perl changes in version 5.34.0 perl5321delta Perl-Perl-Änderungen in
Version 5.32.1 perl5320delta Perl-Änderungen in Version 5.32.0
perl5303delta Perl-Änderungen in Version 5.30.3 perl5302delta
Perl-Änderungen in Version 5.30.2 perl5301delta Perl-Änderungen in
Version 5.30.1 perl5300delta Perl-Änderungen in Version 5.30.0
perl5283delta Perl-Änderungen in Version 5.28.3 perl5282delta
Perl-Änderungen in Version 5.28.2 perl5281delta Perl-Änderungen in
Version 5.28.1 perl5280delta Perl-Änderungen in Version 5.28.0
perl5263delta Perl-Änderungen in Version 5.26.3 perl5262delta
Perl-Änderungen in Version 5.26.2 perl5261delta Perl-Änderungen in
Version 5.26.1 perl5260delta Perl-Änderungen in Version 5.26.0
perl5244delta Perl-Änderungen in Version 5.24.4 perl5243delta
Perl-Änderungen in Version 5.24.3 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
perlbook Perl-Buch-Informationen perlcommunity
Perl-Gemeinschafts-Informationen perldoc Perl-Dokumentation im
Pod-Format nachschlagen perlexperiment Eine Liste von experimentellen
Funktionalitäten in Perl perlartistic Perl Artistic Lizenz perlgpl
GNU General Public Lizenz
perlcn Perl für vereinfachtes Chinesisch (in UTF-8) perljp Perl für
Japanisch (in EUC-JP) perlko Perl für Koreanisch (in EUC-KR) perltw
Perl für traditionelles Chinesisch (in Big5)
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 perlcygwin Perl-Hinweise für Cygwin 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 perlmacosx
Perl-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ü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
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.
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.
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.
Siehe "ENVIRONMENT" in
perlrun(1).
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].
"@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.
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
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?
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.
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.
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