Perl Language
Perlの1ライナー
サーチ…
コマンドラインから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
):
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:3000
( Source )の接続をリッスンするサーバーにアップロードされます。
この例では:
-Mmodule
はuse module;
実行use module;
あなたのプログラムを実行する前に
-E commandline
は、1行のプログラムを入力するために使用されます。
ojo
モジュールがない場合は、 cpanm ojo
コマンドを使用してインストールできます
perlを実行する方法の詳細については、 perldoc perlrun
コマンドを使用するか、 こちらを参照してください。