|P is for Practical|
Thanks a lot!!!
I was really intrigued when I saw the DATA° trick in MJD's talk but this is really not a good idea on Win.
Contrary to the docs in is the implementation of flock NOT advisory on Win, another process can't read the locked file.
So locking DATA means that a separate perl.exe will fail starting the script.
Even worse, I was even able to produce race conditions where it sometimes seemed to work oO.
The trick was to start multiple perl.exe at once, like this they were able to read the file before the run-time started which locked it ... very confusing.
°) for those wondering, DATA is just the filehandle opened to the current script...