icon Top 9 categories map      RocketAware > Perl >


Tips: Browse or Search all pages for efficient awareness of Perl functions, operators, and FAQs.


Search Perl pages


By activity
Professions, Sciences, Humanities, Business, ...

User Interface
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...

Text Strings
Conversions, tests, processing, manipulation,...

Integer, Floating point, Matrix, Statistics, Boolean, ...

Algorithms, Memory, Process control, Debugging, ...

Stored Data
Data storage, Integrity, Encryption, Compression, ...

Networks, protocols, Interprocess, Remote, Client Server, ...

Hard World
Timing, Calendar and Clock, Audio, Video, Printer, Controls...

File System
Management, Filtering, File & Directory access, Viewers, ...

eof ()
Returns 1 if the next read on FILEHANDLE will return end of file, or if FILEHANDLE is not open. FILEHANDLE may be an expression whose value gives the real filehandle name. (Note that this function actually reads a character and then ungetc()s it, so it is not very useful in an interactive context.) Do not read from a terminal file (or call eof(FILEHANDLE) on it) after end-of-file is reached. Filetypes such as terminals may lose the end-of-file condition if you do.

An eof without an argument uses the last file read as argument. Empty parentheses () may be used to indicate the pseudo file formed of the files listed on the command line, i.e., eof() is reasonable to use inside a while (<>) loop to detect the end of only the last file. Use eof(ARGV) or eof without the parentheses to test EACH file in a while (<>) loop. Examples:

    # reset line numbering on each input file
    while (<>) {
        print "$.\t$_";
        close(ARGV) if (eof);   # Not eof().

    # insert dashes just before last line of last file
    while (<>) {
        if (eof()) {
            print "--------------\n";
            close(ARGV);        # close or break; is needed if we
                                # are reading from the terminal

Practical hint: you almost never need to use eof in Perl, because the input operators return undef when they run out of data.

Source: Perl builtin functions
Copyright: Larry Wall, et al.
Next: eval EXPR

Previous: each HASH

(Corrections, notes, and links courtesy of RocketAware.com)

[Overview Topics]

Up to: File Access

Rapid-Links: Search | About | Comments | Submit Path: RocketAware > Perl > perlfunc/eof.htm
RocketAware.com is a service of Mib Software
Copyright 2000, Forrest J. Cavalier III. All Rights Reserved.
We welcome submissions and comments