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