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