use Fcntl qw(:flock); open(FILE, ">sem.lck") or die $!; print "Opened file\n"; flock(FILE, LOCK_EX) or die $!; print "Got lock\n"; sleep(10); close(FILE); #### sysopen(FILE, $path, O_RDWR|O_CREAT|O_EXCL) or die $!;