5部 関数リファレンス

eof

eof FILEHANDLE



eofは、引数FILEHANDLEの読み込みを行なったときに、EOFが返されるか、FILEHANDLEがオープンされていないと、1 を返します。
引数を省略したeofは、最後に読み込みを行なったファイルのEOF状態を返します。空のカッコをつけてeofとすると、コマンドラインで指定されたファイルを連結したファイルの状態を返します。

eofの使い方

while (<>)ループの中では、最後のファイルだけを調査します。while (<>)ループの個々のファイルを調べるには、eof(ARGV)か、カッコなしのeofを用います。

# 最後のファイルの最終行で特別な処理を行う
while ( <> ) {
if ( eof() ) {
....
}
print;
}

# 各ファイルごとに特別な処理を行う
while ( <> ) {
if ( eof ) {
....
}
print;
} 

Perleofが必要となることは、ほとんどないでしょう。なぜなら、データがなくなったときやエラーがあったときに、入力演算子がundefを返すからです。

関連記事