my $lockfile = $destDir."loadqueue.lck"; my $failcount = 0; while ($failcount < 10000) { while (!open my $fhLock, ">", $lockfile) { print "Failed to open $lockfile: $!"; $failcount++; sleep(3); ### Changed from 3000 to 3 (parameter is seconds, not milliseconds!) } last; }