05/12/08 21:09:42 pHM0ErCM
perlを始めて3ヶ月位ですが、ファイルロックに
ついて自分なりに色々と試行錯誤した結果、以下の
ようなルーチンを作りました。
flockが使える事が前提ですが、何か欠点や改良点が
あれば指摘して頂けるとありがたいです。
filelock.pl
package filelock;
our %_lock;
sub END {
foreach my $file ( keys %_lock ) {
close( $_lock{$file}{'handle'} );
unlink( $_lock{$file}{'name'} );
if( $_lock{$file}{'tmp'} ) { rename( $_lock{$file}{'tmp'}, $file ); }
} }
sub readOpen {
my ( $file ) = @_;
my ( $handle );
_append( $file );
if( !open( $handle, "<$file" )) { return undef; }
return $handle;
}