in reply to Odd Timing Executing Lines of Code

You can maybe save yourself some trouble by not forking to the system shell like that.

First of all, if you use the multi arg version system you'll have less interpolation trouble to avoid (e.g., system("del", $file)==0 or die).

Second, try out unlink. It probably does that better anyway. I'm not a windows guy (which is the only platform where this kind of timing "issue" is a problem), but I think you can do something like this:

for my $file (@files) { my $retries = 2; JUST_TRY_ME: { unless( unlink $file ) { if( (--$retries) > 0 ) { warn "problem unlinking file ($file): $!"; sleep 2; redo JUST_TRY_ME; } else { die "too many problems unlinking file ($file) ..."; } }

UPDATE: holi is probably right... you probably just need to close first.

-Paul