Perlでファイルの内容を読み込む場合、普通は1行ずつ処理する。
もし1行ずつ処理する方法が適当でない思ったら、undef $/
することによってファイルの内容をスカラ変数に一気に代入することができる。tこれを"slurping"と呼ぶ。
undef $/; $whole_file =; # 'slurp' mode
Slurping は Perlコマンド実行時のオプション '-0777' でも有効にできる。今日まで知らなかったけど、ワンライナーの場合にすごく便利。
$ cat foo.txt foo foo foo $ perl -0777 -pe 's/o\nf//g' foo.txt foooo
'-0'に続く数値は400以上であれば何でもよいのだが、777と書くのが慣例になっているらしい。詳しいことは参考ページに書いてある。
0 件のコメント:
コメントを投稿