Perl Programming Documentation
Download Perl
Explore

Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

Tools

- Preferences

# tell

Perl 5 version 26.0 documentation
Go to top
Show recent pages
Recently read

# tell

Perl functions A-Z | Perl functions by category | The 'perlfunc' manpage

- tell FILEHANDLE

- tell

  Returns the current position in bytes 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 emphasis on bytes: even if the filehandle has been set to operate on characters (for example using the `:encoding(UTF-8)` I/O layer), the seek, tell, and sysseek family of functions use byte offsets, not character offsets, because seeking to a character offset would be very slow in a UTF-8 file.

  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 `systell` function. Use sysseek($fh, 0, 1) for that.

  Do not use tell (or other buffered I/O operations) on a filehandle that has been manipulated by sysread, syswrite, or sysseek. Those functions ignore the buffering, while tell does not.