- 论坛徽章:
- 0
|
回复 #10 power562 的帖子
$. 表示当前行号。
$.
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).
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.) |
|