tell FILEHANDLE
tell

返回 FILEHANDLE 的当前位置(以字节为单位),如果出错则返回 -1。FILEHANDLE 可以是一个表达式,其值给出实际文件句柄的名称。如果省略 FILEHANDLE,则假定为最后读取的文件。

请注意字节的强调:即使文件句柄已设置为对字符进行操作(例如使用 :encoding(UTF-8) I/O 层),seektellsysseek 函数系列使用的是字节偏移量,而不是字符偏移量,因为在 UTF-8 文件中,按字符偏移量进行查找会非常慢。

对于标准流(如 STDIN),tell 的返回值取决于操作系统:它可能返回 -1 或其他值。对于管道、FIFO 和套接字,tell 通常返回 -1。

没有 systell 函数。为此,请使用 sysseek($fh, 0, 1)

不要在经过 sysreadsyswritesysseek 操作的文件句柄上使用 tell(或其他缓冲 I/O 操作)。这些函数会忽略缓冲,而 tell 则不会。