The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

 $0 [-r] -(p|!) num1,num2,num3 ... < somefile

  指定された数に応じて、入力の複数の行をまとめたり、先頭から指定の数だけ抽出したりする。

   $0 -[r]p n1,n2,..,nk < somefile 
   $0 -[r]! n1,n2,..,nk < somefile 

 オプション: 

 -p : 入力行を逐次n1行、n2行、...、nk行を1行ずつにまとめる。
 -! : 入力のx行目についてからnx個取り出す(nxが負なら末尾から-nx個を取り出す)。
 -r : 引数に与えられた n1,n2,..,nk は無限に繰り返されると見なす。
 -x : 入力が尽きるか、指定された数が尽きた場合でも、出力指定がある限り、空行を出力。(-pの場合のみ)

   --help : この $0 のヘルプメッセージを出す。  perldoc -t $0 | cat でもほぼ同じ。
   --help opt : オプションのみのヘルプを出す。opt以外でも options と先頭が1文字以上一致すれば良い。
   --version : バージョン情報の表示
 
 開発上のメモ : 
  * -x の場合について、動作をよく確認せよ。説明が正しいか。プログラムに一貫性があるか確認すること。
  * $0 -rp num で 入力データの行数が num の倍数で無いときに、出力の最後が 改行文字では無くなる。要対策。