プログラマでありたい

おっさんになっても、プログラマでありつづけたい

Perlのコマンドラインオプション

知っているようで、知らない。私の場合・・・。

perl -h
何はなくても、ヘルプ

perl -v
バージョンの表示

perl -e '処理'
コマンドラインからのperlの基本。これだけでは、ほとんど役立たず。
one line of program
(several -e's allowed, omit programfile)
複数の-eオプションをつけること許してくれるそうな。

perl -e 'print "hoge";'

perl -n
下の処理と等価
ループします。回ってくれます。-eオプションの効用が100倍あがります。

while(<>) {
  ・・・
}

perl -p

下の処理と等価
assume loop like -n but print line also, like sed

  • nのように動くけど、sedのように最後にプリントするそうな。
while(<>) {
  ・・・
  print $_;
}

perl -F':'

  • F/pattern/ split() pattern for -a switch (//'s are optional)

区切り文字を変更してくれる。デフォルトは半角スペースね

  • aと一緒に使います。

perl -a
autosplit mode with -n or -p (splits $_ into @F)
splitして@Fにいれるので、-nか-pオプションと一緒に使ってくだされと。

perl -F':' -a -n -e 'print join("," , @F), "\n";' /etc/passwd
こんな感じ

perl -i[拡張子]
edit <> files in place (makes backup if extension supplied)
何気に凄く便利です。拡張子を付けておいたら、その拡張子でバックアップをしてくれます。例えば、*.htmlを編集して、*.orgにオリジナルを残しておくとか。

perl -i.org -p -e 's/2006/2005/ig;' *.html

perl -w
変なことをしていると警告を出してくれます。
perlスクリプトの最初に、下のように書くでしょ。それです。

#!/usr/local/bin/perl -w