サーチ…


コマンドラインからPerlコードを実行する

単純なone-linersは、 -eスイッチを使ってperlへのコマンドライン引数として指定することができます( "実行"と考える):

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とともに使用することができます。あなたのperlバージョンがサポートしているかもしれないより新しいものを使うには、代わりに-Eを使います。たとえば、5.10.0から利用できるsay使用し、> = v5.14.0以上のUnicode 6.0( -COを使用してSTDOUTがUTF-8を出力するようにしSTDOUT ):

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

Windowsのone-linersで二重引用符で囲まれた文字列を使う

Windowsでは、コマンドラインパラメータを二重引用符で囲みます。 Perlの1つのライナーで二重引用符を使用するには(つまり、補間された変数を含む文字列を出力するために)バックスラッシュでエスケープする必要があります。

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.xmlは、 localhost:3000Source )の接続をリッスンするサーバーにアップロードされます。

この例では:

-Mmoduleuse module;実行use module;あなたのプログラムを実行する前に
-E commandlineは、1行のプログラムを入力するために使用されます。
ojoモジュールがない場合は、 cpanm ojoコマンドを使用してインストールできます

perlを実行する方法の詳細については、 perldoc perlrunコマンドを使用するか、 こちらを参照してください。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow