n または p オプションを指定すると Perl はデフォルトで1行ずつ読み込む。OSで固有に定義されている入力レコードセパレータを使って各行の終わりを検出する。-0digits オプションを使うとレコードセパレータ(レコードの区切り)を変更することができる。
- 行モード(デフォルト)
perl -wple ...
- 段落モード(1つ以上の空行をレコードセパレータと認識する)
perl -00 -wle ...
- ファイルモード(ファイル全体を1レコードとして認識する)
perl -0777 -wle ...
- 段落モードの例
perl -00 -wnle 'BEGIN{%h=();} /09:00/.../10:01/ and !/10:01/ and /^[0-9\/]{10} ([0-9]{2}:[0-9]{2}):[0-9]{2}/ and $h{$1}++;END{map{print "$_: $h{$_}"} sort keys %h;}' hoge.log
[参考]
ミニマルPerl ―Unix/LinuxユーザのためのPerl習得法 P.21