弱いかな? package FileLock; use IO::File; my $CAT= '/bin/cat'; sub open_w { my $filename= shift; mkdir($filename)unless -d $filename; my $base= sprintf("%s.%s.",time,$$); my $cnt= 0; $cnt++ while(-f "$filename/$base$cnt"); return IO::File->new("$filename/$base$cnt",'>>'); } sub open_r { my $filename= shift; return IO::File->new("|$CAT $filename/*"); } 1;