=over =item tell FILEHANDLE =item tell Returns the current position I for FILEHANDLE, or -1 on error. FILEHANDLE may be an expression whose value gives the name of the actual filehandle. If FILEHANDLE is omitted, assumes the file last read. Note the I: even if the filehandle has been set to operate on characters (for example by using the C<:utf8> open layer), tell() will return byte offsets, not character offsets (because that would render seek() and tell() rather slow). The return value of tell() for the standard streams like the STDIN depends on the operating system: it may return -1 or something else. tell() on pipes, fifos, and sockets usually returns -1. There is no C function. Use C for that. Do not use tell() on a filehandle that has been opened using sysopen(), use sysseek() for that as described above. Why? Because sysopen() creates unbuffered, "raw", filehandles, while open() creates buffered filehandles. sysseek() make sense only on the first kind, tell() only makes sense on the second kind. =back