2013/07/13

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

参考ページ

[[http://debugitos.main.jp/index.php?Perl/コマンドライン]]

基本的なオプション

-e

  • ワンライナーを書くために必須。
  • 複数並べられるので、それなりに色々書ける
  • 直後にperlプログラムを書ける。

    perl -e 'print 11/2'

-l[8進数]

  • 行末に指定された8進数に変える。-l のみの場合、改行になる。

    perl -e 'print 22' #=> 22 perl -l -e 'print 22' #=> 22perl -l101 -e 'print 22' #=> 22A

-0[digits]

  • -l の入力セパレータバージョン
  • -00 とすれば、空行を区切り
  • -777 とすればファイルごとの区切りになる。

使い勝手の良いオプション

-n

  • while (<>) { ...} の中にスクリプトを入れたと思って実行

-p

  • -n みたいなもの。ただし、行($_)を出力する。
  • sed に似たやつ。

-a

  • -n, -p と一緒に使用
  • $_ を自動的に改行で分割し、配列 @F に入れる

    perl -ane 'print $F[0], ""' /etc/passwd

-F/pattern/

  • -a の分割のデリミタを指定する
  • パターンは複数文字でも良い。そのときは、' ' または / / で囲む

    perl -F':' -ane 'print $F[0],":",$F[2] ,""' /etc/passwd

-i[拡張子]

  • 拡張子がないとき、<>のファイルを直接編集する
  • 拡張子があるとき、<>の元ファイルは、拡張子をつけたファイルにバックアップされる。

    perl -i".back" -pe `s/foo/bar/g' sample.txt

デバッグに使えるオプション

-c

  • スクリプトのシンタックスチェックのみ行う

-d[:debugger]

  • debugger の下で走らせる

-w

  • より多くの Warning を出す

-W (-X)

  • すべての Warning を出す(出さない)

0 件のコメント:

コメントを投稿