Perl Programming/Keywords/seek

From Wikibooks, open books for an open world
Jump to navigation Jump to search
Previous: scalar Keywords Next: seekdir

The seek keyword[edit | edit source]

The seek sets the file handle position as fseek of UNIX. The FILEHANDLE can also an expression that evaluates to the filehandle. WHENCE can have the values 0 to set the POSITION in bytes, 1 so that it is set to the current position plus POSITION, and 2 to set it to EOF plus POSITION.

seek returns 1 on success and false otherwise. For performance reasons, even if the FILEHANDLE has been set to operate on characters, the function tell() will return the byte offsets.

For WHENCE, the constants SEEK_SET, SEEK_CUR, and SEEK_END should be used for portability reasons instead of 0, 1, or 2.

Do not use seek with sysread or syswrite, as buffering makes the file's read-write position unpredictable and non-portable, but use sysseek instead.

Syntax[edit | edit source]

  seek FILEHANDLE, POSITION, WHENCE

Examples[edit | edit source]

seek(TEST, 0, 1);

See also[edit | edit source]

Previous: scalar Keywords Next: seekdir