< Perl Programming < Keywords

The sysseek keyword

The sysseek sets the file handle position in bytes by using lseek(2) 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.

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

Do not use sysseek with reads other than sysread, eof, print, seek, tell, or write, as it bypasses normal buffered I/O.

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

Syntax

  sysseek FILEHANDLE, POSITION, WHENCE

Examples

use Fcntl 'SEEK_CUR';
sysseek($_[0], 0, SEEK_CUR);

See also

syscallsysopensysreadsysseeksystemsyswrite
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.