I ♥ WordPress

[時間割:Perl]『ミニマルPerl』
2008/09/02 00:30 posted by kunkichi

月曜日は『Perl』の時間。元々はPHPで開発とかもやっていたんだけど、運用の仕事ではPerlをメインで使っていて(ちょこっとしたスクリプトとか)、いつのまにやら一番長く使ってたりします。

なので、それなりにはわかってるつもりなんだけど、ここいらでちゃんと基礎的な勉強をしておこうかなと。選んだのはこれ↓

ミニマルPerl Unix/LinuxユーザのためのPerl習得法
Tim Maher
オライリージャパン
売り上げランキング: 151300


テーマ的にはぴったり(笑)。先週・先々週とちゃんとやっていたのだけど、ふとtaintモードについて改めて調べてたら横道それまくってたので、今週は立ち戻ってちゃんとアップ。基本的にはわかってるところはすっ飛ばして気になるところだけまとめ。

  • ワンライナーで便利なPerlの起動オプション
    • 行末処理(改行する)場合は-lオプション。
    • -nオプションでテキストを1行ずつ処理。フィルタみたいな感じで使える。
      perl -wnl -e ‘print;’ aaa.txt
    • -pオプションでテキストを1行ずつ処理して「表示」も。これだとフィルタ処理だけですむ
      perl -wnl -e ” aaa.txt
    • printfは-lの効果を受けない。あと、printfは%を使う場合は解釈されるので注意。
    • -nや-pだとデフォルトの入力レコードのセパレータは行になるけど、-0数字でセパレータの単位を変更。–00で段落モード。-0777でファイルモード
  • 便利な特殊変数
    • $.で行番号
  • スクリプトで実行
    • スクリプトの場合、-nと-pオプションの場合、もしくは<>(空の入力演算子)の場合はファイル名が引数として取られる。
    • ワンライナーの場合、-eはシングルもダブルもOK。入れ子もOK。シェルはシングルの入れ子はダメ。
    • -sオプションの場合は、-変数名=値が自動的に渡される。
    • Perlの真偽はシェルと逆なので注意。数値だと0、文字列だとNULLやゼロは偽、それ以外は真。
    • -sオプションの場合は、-変数名=値が自動的に渡される。-変数名だけだとこれれが真になる。オプションをトグルで指定する場合なんかに便利そう。
    • -sで-変数名を指定する場合は、ourで宣言しておけば、”used only once”のエラーが出ない、つまりオプション指定となる。
    • -sで-変数名=値を指定する場合は、逆にourで宣言せずに、定義がないことを警告として出すほうがよい。

-sオプションはいいなぁ、ちょっとしたスクリプトのオプションとしては使いやすいし。次はdieとwarnのとこからの予定。

コメント&トラックバック

トラックバックURL





このページの先頭へ