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):

5.14.0
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



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow