IO::Seekable - 為 I/O 物件提供基於搜尋的方法
use IO::Seekable;
package IO::Something;
@ISA = qw(IO::Seekable);
IO::Seekable
沒有自己的建構函數,因為它預計會被其他基於 IO::Handle
的物件繼承。它提供允許搜尋檔案描述符的方法。
傳回一個不透明值,表示 IO::File 的目前位置,或 undef
(例如無法搜尋的串流,例如終端機、管線或 socket)。如果 C 函式庫中提供 fgetpos() 函數,則會使用它來實作 getpos,否則 perl 會使用 C 的 ftell() 函數模擬 getpos。
使用先前 getpos 呼叫的值,以返回先前拜訪過的位置。成功時傳回「0 但為真」,失敗時傳回 未定義
。
請參閱 perlfunc,以取得以下所支援的每種 IO::Seekable
方法的完整說明,這些方法僅為對應內建函式的前端
將 IO::File 搜尋到位置 POS,相對於 WHENCE
POS 是絕對位置。(相對於檔案開頭搜尋)
POS 是從目前位置的偏移量。(相對於目前位置搜尋)
POS 是從檔案結尾的偏移量。(相對於結尾搜尋)
如果您不希望在程式碼中使用數字 0
1
或 2
,則可以從 Fcntl
模組匯入 SEEK_* 常數。
成功時傳回 1
,否則傳回 0
。
類似於 $io->seek,但使用系統呼叫 lseek(2) 直接設定 IO::File 的位置,因此會混淆大多數 perl IO 算子,但 sysread 和 syswrite 除外(請參閱 perlfunc 以取得完整詳細資料)
傳回新位置,或在失敗時傳回 未定義
。零的位置會傳回為字串 「0 但為真」
傳回 IO::File 的目前位置,或在發生錯誤時傳回 -1。
perlfunc、perlop 中的「I/O 算子」、IO::Handle IO::File
由 Graham Barr <gbarr@pobox.com> 從 FileHandle.pm 衍生而來