Perl 编程/关键字/sysseek
外观
该sysseek使用lseek(2)以字节为单位设置文件句柄位置。该FILEHANDLE也可以是计算结果为文件句柄的表达式。WHENCE可以取值 0 以设置POSITION以字节为单位,1 以使其设置为当前位置加上POSITION,以及 2 以将其设置为EOF加上POSITION.
sysseek在成功时返回新位置,并在undef否则。出于性能方面的考虑,即使FILEHANDLE已设置为在字符上操作,函数 tell() 将返回字节偏移量。
不要使用sysseek与除了 sysread、eof、print、seek、tell 或 write 以外的读取一起使用,因为它会绕过正常的缓冲 I/O。
对于WHENCE,常量SEEK_SET, SEEK_CUR以及SEEK_END应出于可移植性原因而使用,而不是 0、1 或 2。
sysseek FILEHANDLE, POSITION, WHENCE
use Fcntl 'SEEK_CUR';
sysseek($_[0], 0, SEEK_CUR);
syscall |
sysopen |
sysread |
sysseek |
system |
syswrite
|