ARGVに指定したファイルもしくはSTDINから

back
特殊ハンドル ARGV

while (<ARGV>) {
  print;
}

@ARGV が指定されていれば、それをファイル名とし、順次そのファイルを open し処理する。
指定されなければ、STDIN からデータを読み込む。

ちなみに、

while (<>) {
  print;
}

とも書ける

なおループ中は、$ARGV に現在 open しているファイル名がセットされている。
STDIN の場合は、- になっている。
行数に関しては $. はファイルハンドルの行数なので、
ファイルごとの行数がセットされているわけではないので注意。

back