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

elef has asked for the wisdom of the Perl Monks concerning the following question:

Hi everyone, I've been trying to track down the cause of what seems to be a bug in ActivePerl and I think I've gotten as far as I can get. Maybe you can finish this for me.

My program needs to do quite a bit of file renaming, and the rename fails randomly with "Permission denied" about every 50th time. The bug doesn't seem to occur in Ubuntu, but it happens regularly on Win7 with ActivePerl.

Here's a script I wrote to provoke the bug:
#!/usr/bin/perl use warnings; use strict; for (my $i = 1; $i <= 10000; $i++) { open (F1, ">:encoding(UTF-8)", "rename1.txt") or die "Can't open f +ile1: $!"; open (F2, ">:encoding(UTF-8)", "rename2.txt") or die "Can't open f +ile2: $!"; print F1 "File one"; print F2 "File two"; close F1; close F2; # unlink "rename2.txt"; # error occurs even if you unlink the f +ile first, although less often rename ("rename1.txt", "rename2.txt") or die "Can't rename file: $ +!"; print "loop $i done\n\n"; }