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 also use the constants SEEK_SET
, SEEK_CUR
, and SEEK_END
(start of the file, current position, end of the file) from the Fcntl 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.