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
|