Current line number for the last filehandle accessed.
Each filehandle in Perl counts the number of lines that have been read from it. (Depending on the value of $/
, Perl's idea of what constitutes a line may not match yours.) When a line is read from a filehandle (via readline()
or <>
), or when tell()
or seek()
is called on it, $.
becomes an alias to the line counter for that filehandle.
You can adjust the counter by assigning to $.
, but this will not actually move the seek pointer. Localizing $.
will not localize the filehandle's line count. Instead, it will localize perl's notion of which filehandle $.
is currently aliased to.
$.
is reset when the filehandle is closed, but not when an open filehandle is reopened without an intervening close()
. For more details, see "I/O Operators" in perlop. Because <>
never does an explicit close, line numbers increase across ARGV
files (but see examples in "eof" in perlfunc).
You can also use HANDLE->input_line_number(EXPR)
to access the line counter for a given filehandle without having to worry about which handle you last accessed.
Mnemonic: many programs use "." to mean the current line number.