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