http://www.perlmonks.org?node_id=163704


in reply to Re: Unlink Permission Denied
in thread Unlink Permission Denied

It's a windows thing!
Yes, indeed. Redirection to a file in unix works like this:
- open output file for truncate (>) or append (>>)
- start all processes involved in the pipeline
- keep data flowing through the pipe to the file till something quits.
In windows/dos, it seems to go something like this:
- run the first process in the pipeline, and put its output somewhere; when it finishes:
- start the next process (if any) and pass it the output created by the previous process
- when the last process is done, write its output to the redirection file.
Maybe windows does something to create the file first (else you'd get a "file not found" error from unlink), but it's protected until the OS is done with it (which is after your process exits).