Perl Language
Perl one-liners
Zoeken…
Voer een Perl-code uit vanaf de opdrachtregel
Eenvoudige one-liners kunnen worden opgegeven als opdrachtregelargumenten die perl kunnen gebruiken met de schakelaar -e
(denk aan "uitvoeren"):
perl -e'print "Hello, World!\n"'
Vanwege Windows-citatieregels kunt u geen enkele aanhalingstekens gebruiken, maar moet u een van deze varianten gebruiken:
perl -e"print qq(Hello, World!\n)"
perl -e"print \"Hello, World!\n\""
Merk op dat om te voorkomen dat oude code wordt verbroken, alleen syntaxis beschikbaar tot Perl 5.8.x kan worden gebruikt met -e
. Gebruik in plaats daarvan -E
om iets nieuws te gebruiken dat uw perl-versie mogelijk ondersteunt. Bijvoorbeeld om say
te gebruiken beschikbaar vanaf 5.10.0 op plus Unicode 6.0 vanaf> = v5.14.0 (gebruikt ook -CO
om ervoor te zorgen dat STDOUT
UTF-8 afdrukt):
perl -CO -E'say "\N{PILE OF POO}"'
Tekenreeksen met dubbele aanhalingstekens gebruiken in Windows one-liners
Windows gebruikt alleen dubbele aanhalingstekens om opdrachtregelparameters te verpakken. Om dubbele aanhalingstekens in perl one-liner te gebruiken (dat wil zeggen om een string met een geïnterpoleerde variabele af te drukken), moet u deze met backslashes omzeilen:
perl -e "my $greeting = 'Hello'; print \"$greeting, world!\n\""
Om de leesbaarheid te verbeteren, kunt u een qq()
-operator gebruiken:
perl -e "my $greeting = 'Hello'; print qq($greeting, world!\n)"
Lijnen die overeenkomen met een patroon (PCRE grep)
perl -ne'print if /foo/' file.txt
Case-insensitive:
perl -ne'print if /foo/i' file.txt
Vervang een substring door een andere (PCRE sed)
perl -pe"s/foo/bar/g" file.txt
Of ter plaatse:
perl -i -pe's/foo/bar/g' file.txt
Op Windows:
perl -i.bak -pe"s/foo/bar/g" file.txt
Alleen bepaalde velden afdrukken
perl -lane'print "$F[0] $F[-1]"' data.txt
# prints the first and the last fields of a space delimited record
CSV-voorbeeld:
perl -F, -lane'print "$F[0] $F[-1]"' data.csv
Druk lijnen 5 tot 10 af
perl -ne'print if 5..10' file.txt
Bewerk het bestand ter plekke
Zonder back-up ( niet ondersteund op Windows )
perl -i -pe's/foo/bar/g' file.txt
Met een reservekopie file.txt.bak
perl -i.bak -pe's/foo/bar/g' file.txt
Met een back-up old_file.txt.orig
in de backup
submap (op voorwaarde dat deze bestaat):
perl -i'backup/old_*.orig' -pe's/foo/bar/g' file.txt
Het hele bestand lezen als een tekenreeks
perl -0777 -ne'print "The whole file as a string: --->$_<---\n"'
Opmerking: de -0777
is slechts een conventie. Elke -0400
en hoger zou hetzelfde zijn.
Bestand uploaden naar mojolicious
perl -Mojo -E 'p("http://localhost:3000" => form => {Input_Type => "XML", Input_File => {file => "d:/xml/test.xml"}})'
Bestand d:/xml/test.xml
wordt geüpload naar de server die naar verbindingen luistert op localhost:3000
( bron )
In dit voorbeeld:
-Mmodule
voert use module;
voordat u uw programma uitvoert
-E commandline
wordt gebruikt om een regel van het programma in te voeren
Als u geen ojo
module hebt, kunt u de opdracht cpanm ojo
gebruiken om deze te installeren
Om meer te lezen over het uitvoeren van perl, gebruik de opdracht perldoc perlrun
of lees hier