FILEHANDLE
に対する次の読み込みが end of file を返すか、
FILEHANDLE
がopen
されていない場合、1 を返す。
FILEHANDLE
は ファイルハンドルの名前を値に持つ expression でもよい。
(注意: この関数は実際には 1 文字読み込んでそれを ungetc
するので、
インタラクティブなコンテキストではあまり有用ではない。)
引数なしの eof
は最後に読み込んだファイルの eof status を返す。
空の括弧 ()
は、コマンドラインで指定されたファイルから作られる
擬似ファイルを指定するのに使われる。
即ち、eof()
は while (<>)
の中で
最後のファイルの終わりを検出するために使う時のみ意味がある。
while (<>)
ループの全てのファイルの終わり検出のためには、
eof(ARGV)
か 括弧のない eof
を使うべきである。
# 最後のファイルの最後の 1 行前にダッシュを入れる
while (<>) {
if (eof()) {
print "--------------\n";
}
print;
}
# 各入力ファイルごとに行番号をリセットする
while (<>) {
print "$.\t$_";
if (eof) { # eof() ではない。
close(ARGV);
}
}