Perl Language
Perl-Einlagen
Suche…
Führen Sie einige Perl-Codes von der Kommandozeile aus
Mit dem Schalter -e können einfache Einzeiler als Befehlszeilenargumente für Perl angegeben werden (denken Sie an "Ausführen"):
perl -e'print "Hello, World!\n"'
Aufgrund von Zitierregeln von Windows können Sie keine Zeichenfolgen mit einem Anführungszeichen verwenden, sondern müssen eine der folgenden Varianten verwenden:
perl -e"print qq(Hello, World!\n)"
perl -e"print \"Hello, World!\n\""
Beachten Sie, dass mit -e nur Syntax verwendet werden kann, die bis zu Perl 5.8.x verfügbar ist. Um neuere Versionen Ihrer Perl-Version zu verwenden, verwenden Sie stattdessen -E . Verwenden Sie beispielsweise say ab 5.10.0 und Unicode 6.0 ab> = v5.14.0 (verwendet auch -CO , um sicherzustellen, dass STDOUT UTF-8 druckt):
perl -CO -E'say "\N{PILE OF POO}"'
Verwenden von doppelten Anführungszeichen in Windows-Einzeilen
Windows verwendet nur doppelte Anführungszeichen, um Befehlszeilenparameter zu umbrechen. Um doppelte Anführungszeichen in Perl-Einzeiler verwenden zu können (dh, einen String mit einer interpolierten Variablen zu drucken), müssen Sie diese mit umgekehrten Schrägstrichen maskieren:
perl -e "my $greeting = 'Hello'; print \"$greeting, world!\n\""
Um die Lesbarkeit zu verbessern, können Sie einen qq() Operator verwenden:
perl -e "my $greeting = 'Hello'; print qq($greeting, world!\n)"
Linien drucken, die einem Muster entsprechen (PCRE grep)
perl -ne'print if /foo/' file.txt
Groß- und Kleinschreibung:
perl -ne'print if /foo/i' file.txt
Ersetzen Sie einen Teilstring durch einen anderen (PCRE sed).
perl -pe"s/foo/bar/g" file.txt
Oder vor Ort:
perl -i -pe's/foo/bar/g' file.txt
Unter Windows:
perl -i.bak -pe"s/foo/bar/g" file.txt
Nur bestimmte Felder drucken
perl -lane'print "$F[0] $F[-1]"' data.txt
# prints the first and the last fields of a space delimited record
CSV-Beispiel:
perl -F, -lane'print "$F[0] $F[-1]"' data.csv
Zeilen 5 bis 10 drucken
perl -ne'print if 5..10' file.txt
Datei direkt bearbeiten
Ohne Sicherungskopie ( unter Windows nicht unterstützt )
perl -i -pe's/foo/bar/g' file.txt
Mit einer Sicherungskopie file.txt.bak
perl -i.bak -pe's/foo/bar/g' file.txt
Mit einer Sicherungskopie old_file.txt.orig im backup Unterverzeichnis (sofern letzteres vorhanden)
perl -i'backup/old_*.orig' -pe's/foo/bar/g' file.txt
Die ganze Datei als String lesen
perl -0777 -ne'print "The whole file as a string: --->$_<---\n"'
Hinweis: Die -0777 ist nur eine Konvention. Jeder -0400 und darüber würde gleich sein.
Datei in mojolicious hochladen
perl -Mojo -E 'p("http://localhost:3000" => form => {Input_Type => "XML", Input_File => {file => "d:/xml/test.xml"}})'
Die Datei d:/xml/test.xml wird auf den Server hochgeladen, der die Verbindungen auf localhost:3000 d:/xml/test.xml localhost:3000 ( Quelle )
In diesem Beispiel:
-Mmodule führt das use module; bevor Sie Ihr Programm ausführen
-E commandline wird verwendet, um eine Programmzeile einzugeben
Wenn Sie kein ojo Modul haben, können Sie es mit cpanm ojo Befehl cpanm ojo installieren
Um mehr über das Ausführen von Perl zu perldoc perlrun verwenden perldoc perlrun Befehl perldoc perlrun oder lesen Sie hier