sleep_unless_lockfile (200, "$ENV{TEMP}\\lockfile"); sub sleep_unless_lockfile { my ($sleeptime, $lockfile)=@_; my $counter; { sleep 1; $counter++; print "$counter."; last if (-e $lockfile); last if $counter >= $sleeptime; redo; } }