【Perl】ファイルロック(排他処理)について語ろうat PHP【Perl】ファイルロック(排他処理)について語ろう - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト903:nobodyさん 06/03/03 20:34:19 QWJoZw1q >>902 flockを信じればそれでもいけるが、テンポファイルが何らかの障害で生き残った場合 リネームで致命傷。 ユニークなファイル名にしといた方が安全かなと。 904:nobodyさん 06/03/03 22:52:47 つFile::Temp 905:nobodyさん 06/03/04 01:20:31 flockを信じればって、じゃあ何を信じりゃいいのさ? つか、flockすんならテンポラリファイルいらねーだろ。 906:nobodyさん 06/03/04 03:20:16 use Fcntl qw/:DEFAULT :seek/; sysopen my $fh, $file, O_RDWR|O_CREAT|O_EXLOCK, 0600 or die $!; my $sz_file = -s $fh; sysread $fh, my($buf), $sz_file or die $!; my @data = split /\n/, $buf; : : my $sz_data = length($buf = join "\n", @data); sysseek $fh, 0, SEEK_SET or die $!; if ($sz_data < $sz_file) { $buf .= "\n" x ($sz_file - $sz_data); syswrite $fh, $buf, $sz_file or die $!; truncate $fh, $sz_data or die $!; } else { syswrite $fh, $buf, $sz_data or die $!; } close $fh; 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch