C:\test>junk44
Permission denied : The process cannot access the file because it is being used by another process at C:\test\junk44.pl line 30.
perl.exe pid: 17320 PB-IM2525-AIO\HomeAdmin : 60: File (RW-) C:\test\ttz
cmd.exe pid: 17324 PB-IM2525-AIO\HomeAdmin : 60: File (RW-) C:\test\ttz
handle.exe pid: 16152 PB-IM2525-AIO\HomeAdmin : 60: File (RW-) C:\test\ttz
####
cmd.exe /x/d/c "cmd /c echo xx >$file"
##
##
use strict;
use warnings;
my $file='ttz';
open( my $fh, $file ) or die "open error $!";
binmode( $fh, ':unix');
close($fh) or die "close error $!";
if( !unlink($file) ) {
warn $!, ' : ', $^E;
}
##
##
## In a different session from which I will run my modified version of your script
C:\test>echo xx > ttz
C:\test>handle | find "ttz" ## shows that immediately after creation, nothing has an open handle to that file
## Now in the other session
C:\test>junk44
Permission denied : The process cannot access the file because it is being used by another process at C:\test\junk44.pl line 12.
## And back in the first session whilst the 10 second sleep is running
C:\test>handle | find "ttz"
60: File (RW-) C:\test\ttz