수색…


명령 줄에서 Perl 코드 실행

간단한 one-liners는 -e 스위치를 사용하여 perl에 대한 명령 줄 인수로 지정할 수 있습니다 ( "execute"라고 생각하십시오).

perl -e'print "Hello, World!\n"'

Windows 인용 규칙으로 인해 작은 따옴표로 묶은 문자열은 사용할 수 없지만 다음 변형 중 하나를 사용해야합니다.

perl -e"print qq(Hello, World!\n)"
perl -e"print \"Hello, World!\n\""

구식 코드가 손상되지 않도록하려면 Perl 5.8.x까지 사용할 수있는 구문 만 -e 와 함께 사용할 수 있습니다. 펄 버전이 지원하는 것보다 새로운 것을 사용하려면 대신 -E 사용하십시오. 예에 사용하는 say > = v5.14.0 (또한 사용에서 유니 코드 6.0 플러스에 5.10.0에서 사용할 수를 -CO 확인하기 위해 STDOUT UTF-8 인쇄) :

5.14.0
perl -CO -E'say "\N{PILE OF POO}"'

Windows one-liners에서 큰 따옴표로 묶인 문자열 사용

Windows는 큰 따옴표 만 사용하여 명령 줄 매개 변수를 래핑합니다. perl one-liner에서 큰 따옴표를 사용하려면 (예 : 보간 된 변수가있는 문자열을 출력하려면) 역 슬래시를 사용하여 이스케이프 처리해야합니다.

perl -e "my $greeting = 'Hello'; print \"$greeting, world!\n\""

가독성을 높이기 위해 qq() 연산자를 사용할 수 있습니다.

perl -e "my $greeting = 'Hello'; print qq($greeting, world!\n)"

패턴과 일치하는 줄 인쇄 (PCRE grep)

perl -ne'print if /foo/' file.txt

대소 문자를 구분하지 않음 :

perl -ne'print if /foo/i' file.txt

하위 문자열을 다른 문자로 대체 (PCRE sed)

perl -pe"s/foo/bar/g" file.txt

또는 제자리에서 :

perl -i -pe's/foo/bar/g' file.txt

Windows의 경우 :

perl -i.bak -pe"s/foo/bar/g" file.txt

특정 필드 만 인쇄

perl -lane'print "$F[0] $F[-1]"' data.txt
# prints the first and the last fields of a space delimited record

CSV 예 :

perl -F, -lane'print "$F[0] $F[-1]"' data.csv

5 ~ 10 행 인쇄

perl -ne'print if 5..10' file.txt

현재 위치에서 파일 편집

백업 복사본이 없으면 ( Windows에서는 지원되지 않음 )

perl -i -pe's/foo/bar/g' file.txt

백업 사본 file.txt.bak

perl -i.bak -pe's/foo/bar/g' file.txt

backup 하위 디렉토리에 old_file.txt.orig 라는 백업 사본이있는 경우 (후자가있는 경우)

perl -i'backup/old_*.orig' -pe's/foo/bar/g' file.txt

전체 파일을 문자열로 읽음

perl -0777 -ne'print "The whole file as a string: --->$_<---\n"'

참고 : -0777 은 단지 규칙입니다. -0400 이상이면 똑같습니다.

mojolicious에 파일 업로드

perl -Mojo -E 'p("http://localhost:3000" => form => {Input_Type => "XML", Input_File => {file => "d:/xml/test.xml"}})'

파일 d:/xml/test.xmllocalhost:3000 ( 소스 )에서 연결을 수신하는 서버에 업로드됩니다 localhost:3000

이 예에서 :

-Mmoduleuse module; 실행 use module; 프로그램을 실행하기 전에
-E commandline 은 한 줄의 프로그램 입력에 사용됩니다.
ojo 모듈이 없다면 cpanm ojo 명령을 사용 cpanm ojo 설치할 수 있습니다

perl 실행 방법에 대한 자세한 내용은 perldoc perlrun 명령을 사용하거나 여기를 참조하십시오.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow