HANDLE->input_line_number( EXPR )
$INPUT_LINE_NUMBER
$NR
$.

最後存取檔案句柄的目前行號。

Perl 中的每個檔案句柄都會計算從中讀取的行數。(根據 $/ 的值,Perl 對於構成一行的概念可能與您不同。)當從檔案句柄中讀取一行(透過 readline()<>),或在檔案句柄上呼叫 tell()seek() 時,$. 會成為該檔案句柄的行數計數器的別名。

您可以透過指定 $. 來調整計數器,但這不會實際移動搜尋指標。$. 本地化不會將檔案句柄的行數本地化。相反地,它會將 Perl 的概念本地化,也就是 $. 目前是哪個檔案句柄的別名。

$. 會在檔案句柄關閉時重設,但不會在開啟的檔案句柄在沒有介入 close() 的情況下重新開啟時重設。如需更多詳細資料,請參閱 perlop 中的「I/O 算子」。由於 <> 從未執行明確的關閉動作,因此行號會在 ARGV 檔案中增加(但請參閱 perlfunc 中的「eof」 中的範例)。

您也可以使用 HANDLE->input_line_number(EXPR) 來存取特定檔案句柄的行數計數器,而不必擔心最後存取哪個句柄。

助記符:許多程式使用「.」表示目前的列數。