in reply to This is weird...
Normally, this isn't a problem. Until you write code like
The open() call will cause you all sorts of grief because you opened the file for writing. Regardless of the locking, the OS has just overwritten the file. If you can't get the lock, either you or perl will close the file, and write a file with exactly 0 bytes in it. You should always open the file for append. If you do get the lock, you can always use seek() to start rewriting.open TEST, ">test.html" or die "A grim and horrible death: $!"; unless ( flock test, 6 ) { close TEST; die "Couldn't get the lock!"; }
turnstep's example does this, but I didn't see any explanation and this mistake has caused me a fair amount of pain previously.
|
|---|