Perl Language
Jednowarstwowe Perl
Szukaj…
Wykonaj trochę kodu Perla z wiersza poleceń
Proste jednowierszowe mogą być określone jako argumenty wiersza poleceń do perla za pomocą przełącznika -e (pomyśl „wykonaj”):
perl -e'print "Hello, World!\n"'
Ze względu na reguły cytowania w systemie Windows nie można używać ciągów pojedynczych, ale należy użyć jednego z tych wariantów:
perl -e"print qq(Hello, World!\n)"
perl -e"print \"Hello, World!\n\""
Zauważ, że aby uniknąć zerwania starego kodu, w przypadku -e można używać tylko składni dostępnej do wersji Perl 5.8.x. Aby użyć czegoś nowszego, który może obsługiwać Twoja wersja perla, użyj zamiast tego opcji -E . Np. Użyć say dostępne od 5.10.0 i Unicode 6.0 od> = v5.14.0 (używa również -CO aby upewnić się, że STDOUT drukuje UTF-8):
perl -CO -E'say "\N{PILE OF POO}"'
Używanie cudzysłowów w jednowierszowych systemach Windows
System Windows używa tylko podwójnych cudzysłowów do zawijania parametrów wiersza poleceń. Aby użyć podwójnych cudzysłowów w perlu one-liner (tj. Aby wydrukować ciąg ze zmienną interpolowaną), musisz uciec przed nimi za pomocą ukośników odwrotnych:
perl -e "my $greeting = 'Hello'; print \"$greeting, world!\n\""
Aby poprawić czytelność, możesz użyć operatora qq() :
perl -e "my $greeting = 'Hello'; print qq($greeting, world!\n)"
Drukuj linie pasujące do wzoru (PCRE grep)
perl -ne'print if /foo/' file.txt
Bez uwzględniania wielkości liter:
perl -ne'print if /foo/i' file.txt
Zastąp podciąg innym (PCRE sed)
perl -pe"s/foo/bar/g" file.txt
Lub na miejscu:
perl -i -pe's/foo/bar/g' file.txt
W systemie Windows:
perl -i.bak -pe"s/foo/bar/g" file.txt
Wydrukuj tylko niektóre pola
perl -lane'print "$F[0] $F[-1]"' data.txt
# prints the first and the last fields of a space delimited record
Przykład CSV:
perl -F, -lane'print "$F[0] $F[-1]"' data.csv
Drukuj linie od 5 do 10
perl -ne'print if 5..10' file.txt
Edytuj plik w miejscu
Bez kopii zapasowej ( nieobsługiwane w systemie Windows )
perl -i -pe's/foo/bar/g' file.txt
Z kopią zapasową file.txt.bak
perl -i.bak -pe's/foo/bar/g' file.txt
Z kopią zapasową old_file.txt.orig w podkatalogu backup (o ile ten drugi istnieje):
perl -i'backup/old_*.orig' -pe's/foo/bar/g' file.txt
Odczytywanie całego pliku jako łańcucha
perl -0777 -ne'print "The whole file as a string: --->$_<---\n"'
Uwaga: -0777 to tylko konwencja. Dowolne -0400 i wyższe byłyby takie same.
Prześlij plik do mojolicious
perl -Mojo -E 'p("http://localhost:3000" => form => {Input_Type => "XML", Input_File => {file => "d:/xml/test.xml"}})'
Plik d:/xml/test.xml zostanie przesłany na serwer, który nasłuchuje połączeń na localhost:3000 ( Źródło )
W tym przykładzie:
-Mmodule wykonuje use module; przed uruchomieniem programu
-E commandline wiersz -E commandline służy do wprowadzenia jednego wiersza programu
Jeśli nie masz modułu ojo , możesz użyć cpanm ojo aby go zainstalować
Aby przeczytać więcej na temat uruchamiania perla, użyj polecenia perldoc perlrun lub przeczytaj tutaj