5部 関数リファレンス

seek

2011年9月20日
seek FILEHANDLE, OFFSET, WHENCE

seekを使えば、ファイルの任意のレコードにアクセスできます。この関数は、FILEHANDLEOFFSET位置にファイルポインタをセットします。成功すると 1、失敗すると 0 を返します。

FILEHANDLE
FILEHANDLE は、ファイルハンドル名またはファイルハンドルオブジェクトへのリファレンスになるような式でもかまいません。
OFFSET
OFFSET はバイト単位で位置を指定します。
WHENCE
WHENCE によって、OFFSET がファイルのどこを基点とするかを指定します。WHENCE の値が、0 ならば、ファイルポインタを OFFSET の位置へ、1 ならば、現在位置から OFFSET 離れた位置へ、2 ならば、EOF から OFFSET だけ離れた位置へ、ファイルポインタを設定します。

WHENCE

WHENCE 意味
0 ファイルの先頭
1 現在の位置
2 ファイルの末尾

seekの使い方

open (FH, $log);
# ファイルの末尾に移動
seek(FH, 2, 0); 

他のプロセスによって長さが増えるようなファイルに追随

for ( ;; ){
while ( <LOG> ){
...
}
sleep 15;
seek LOG, 0, 1;
}

プロセスについては用語集「プロセス」を参照してください。

Comment

コメントを残す

メールアドレスが公開されることはありません。

リズムファクトリーはホームページの制作会社です。
ホームページ制作に関するご要望・ご相談はこちらからどうぞ。