You are viewing the version of this documentation from Perl 5.005_04. View the latest version
sysseek FILEHANDLE,POSITION,WHENCE

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.