in reply to What is the best way to lock a counter file?

If I'm not sure whether or not flock will work, I usually use a workaround by renaming the file I want to have access to. Of course this depends on rename being "atomic", meaning: There is no point in time while renaming, where both filenames exists and rename may be halted.

so my code looks something like this:

my $cntr="counterfile"; my $owncntr="counter.mine"; while (! rename $cntr,$owncntr) { # sleep some time to retry # or die if no more retries allowed } # do some work on file $owncntr if (! rename $owncntr,$cntr ) die "Someone created a new $cntr file?";