Perlワンライナーメモ
至るところで語り尽くされているネタですが、使おっかなーと思うときには大抵忘れており毎回調べる羽目になるので、備忘としてメモします。
perl -e
オプションで与えた文字列をそのまま評価。
# はろーわーるど perl -e 'print "Hello, World!\n"' # モジュールのバージョン確認 perl -e 'use Term::ANSIColor; print $Term::ANSIColor::VERSION, "\n";'
perl -M
モジュールのロードをオプションで指定。
# モジュールのバージョン確認 v2 perl -MTerm::ANSIColor -e 'print $Term::ANSIColor::VERSION, "\n";'
perl -le
処理後にprint $/
してくれる。デフォルトでは$/
は改行コードなので、改行されます。
# モジュールのバージョン確認 v3 perl -MTerm::ANSIColor -le 'print $Term::ANSIColor::VERSION;' # インストール済みCPANモジュール一覧表示 # https://gist.github.com/s-shin/10267831 perl -MExtUtils::Installed -le 'print join "\n" => sort ExtUtils::Installed->new->modules;'
perl -ne
ループ内while (<>) { HERE }
のような感じでコードを評価。
# $_には"foo\n"と"bar\n"が渡る。 echo -e "foo\nbar" | perl -ne 'print $_'
perl -pe
ループ内while (<>) { HERE; print $_; }
のような感じでコードを評価。
# $_には"foo\n"と"bar\n"が渡る。処理後の$_は自動的にprintされる。 echo -e "foo\nbar" | perl -pe 's/^(.*)$/$1\n/g'
perl -ple
ループ内while (<>) { chomp; HERE; print $_, "\n"; }
のような感じでコードを評価。
# $_には"foo"と"bar"が渡る。処理後の$_は自動的にsayされる。 echo -e "foo\nbar" | perl -ple 's/^(.*)$/$1\n/g'
perl -i
ファイルによる入出力。
# "[...]"を"{...}"に置換。ファイルはa.txtに上書き。 perl -i -ple 's/\[(.*)\]/{$1}/g' a.txt # "[...]"を"{...}"に置換。a.txtに上書きされるが、元ファイルはa.txt.bkとしてコピーされる。 perl -i.bk -ple 's/\[(.*)\]/{$1}/g' a.txt