関数順 インデックス
目的別 インデックス

構文
 
 truncate ファイル・ハンドル, 長さ
 truncate ファイル名, 長さ

返り値
 
 成功時に真

説明

  • ファイル・ハンドルにひひも付いているファイルまたは,指定した名前のファイルを指定した長さに切り詰めます。

使用例

ファイルdata.txtを10バイトの大きさに切り詰める
#!/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;
}
ファイルinfo.txtの内容を上書きする
#!/usr/bin/perl
use strict;
use warnings;
use POSIX;

my $filename = "info.txt";

my $msg = scalar(localtime) . "($$)";

open my $fh, "+<", $filename or die "$!:$filename";
flock $fh, 2; # ファイルをロックする
seek $fh, 0, SEEK_SET or die $!;
print $fh $msg; # メッセージ出力
truncate $fh, tell($fh) or die $!; 
close $fh;