Sets FILEHANDLE's system position using the system call lseek(2). It bypasses stdio, so mixing this with reads (other than sysread()
), print()
, write()
, seek()
, tell()
, or eof()
may cause confusion. FILEHANDLE may be an expression whose value gives the name of the filehandle. The values for WHENCE are 0
to set the new position to POSITION, 1
to set the it to the current position plus POSITION, and 2
to set it to EOF plus POSITION (typically negative). For WHENCE, you may use the constants SEEK_SET
, SEEK_CUR
, and SEEK_END
from either the IO::Seekable
or the POSIX module.
Returns the new position, or the undefined value on failure. A position of zero is returned as the string "0
but true"; thus sysseek()
returns TRUE on success and FALSE on failure, yet you can still easily determine the new position.