構文 |
|
seek ファイル・ハンドル, POSITION, WHENCE |
返り値 |
|
成功時に真 |
説明
- ファイル・ハンドルのファイル・ポインタの位置を設定します。
- POSITIONで位置の指定を行いますが,WHENCEの値によって取る位置が変わります。
- WHENCEの値が0の場合は位置をPOSITIONに,1の場合は現在位置からPOSITIONバイト加えた位置に,2の場合は終端からPOSITIONバイト加えた位置にファイル・ポインタを移動します。
使用例
#!/usr/bin/perl
use strict;
use warnings;
use POSIX;
my $filename = "test.txt";
open my $fh, "<", $filename or die "$!:$filename";
my $ret = seek $fh, 1, SEEK_END; # 末尾に移動
while (1) {
while (my $line = <$fh>) {
print $line;
}
} continue {
sleep 1;
}
#!/usr/bin/perl
use strict;
use warnings;
use POSIX;
my $size = 10;
my $filename = "data.txt";
my $filesize = -s $filename;
if ($filesize > $size) {
open my $fh, "+<", $filename or die "$!:$filename";
seek $fh, 0, SEEK_SET or die $!;
truncate $fh, $size or die $!;
close $fh;
}