sub XXX ($) {
my $file = shift;
my $openmode = O_WRONLY|O_CREAT;
$openmode |= O_EXCL if !$cfg->{overwrite};
sysopen my $fh, $file, $openmode or die "Error: $!\n";
binmode $fh, ':raw';
flock $fh, LOCK_EX or die "Error: $!\n";
seek $fh, 0, 0 or die "Error: $!\n";
truncate $fh, 0 or die "Error: $!\n";
return $fh;
}
ファイル名を引数にとって、ファイハンドルを返すんだけど、このコードでなにか問題点あったら指摘してくれ。
sysopen使ったことないからよくわからん。
(サブルーチン名は適当)