The current input record number for the last file handle from which you just read() (or called a seek
or tell
on). The value may be different from the actual physical line number in the file, depending on what notion of "line" is in effect--see $/
on how to change that. An explicit close on a filehandle resets the line number. Because <>
never does an explicit close, line numbers increase across ARGV files (but see examples in "eof" in perlfunc). Consider this variable read-only: setting it does not reposition the seek pointer; you'll have to do that on your own. Localizing $.
has the effect of also localizing Perl's notion of "the last read filehandle". (Mnemonic: many programs use "." to mean the current line number.)