=over =item tell FILEHANDLE X =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<:encoding(utf8)> open layer), L|/tell FILEHANDLE> will return byte offsets, not character offsets (because that would render L|/seek FILEHANDLE,POSITION,WHENCE> and L|/tell FILEHANDLE> rather slow). The return value of L|/tell FILEHANDLE> for the standard streams like the STDIN depends on the operating system: it may return -1 or something else. L|/tell FILEHANDLE> on pipes, fifos, and sockets usually returns -1. There is no C function. Use C for that. Do not use L|/tell FILEHANDLE> (or other buffered I/O operations) on a filehandle that has been manipulated by L|/sysread FILEHANDLE,SCALAR,LENGTH,OFFSET>, L|/syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET>, or L|/sysseek FILEHANDLE,POSITION,WHENCE>. Those functions ignore the buffering, while L|/tell FILEHANDLE> does not. =back