Use ftp and directory creation to create mutual exclusion/locking that is available cross platform and on a network. If two processes each connect to the same host via ftp and try to create the same directory that does not yet exist then one will create the directory and the other will be notified that it cannot create the directory because it is already there. This locking technique is based on an article by Sean M. Burke in the Summer 2002 Perl Journal. Synopsis use LockFile::NetLock; my $locker = new LockFile::NetLock( 'ftp.myhost.com', 'lockdir.lck', 'ftpuser', 'ftppassword' ); if ($locker->lock()) { # do work requiring lock $locker->unlock() || print STDERR $locker->errstr; } else { print STDERR $locker->errstr; } -- OR -- use LockFile::NetLock qw(lock unlock); if (lock qw(ftp.myhost.com lockdir.lck ftpuser ftppassword)) { # do work requiring lock unlock(qw(ftp.myhost.com lockdir.lck)) || print STDERR $LockFile::NetLock::errstr; } else { print STDERR $LockFile::NetLock::errstr; } -- OR even with a .netrc file -- use LockFile::NetLock qw(lock unlock); if (lock qw(ftp.myhost.com lockdir.lck )) { # do work requiring lock unlock(qw(ftp.myhost.com lockdir.lck)) || print STDERR $LockFile::NetLock::errstr; } else { print STDERR $LockFile::NetLock::errstr; } Installation -- Standard perl module installation perl Makefile.PL make make test make install See the perlmodinstall document on CPAN for more information on installing modules. It is strongly recommended that users of this module upgrade Net::FTP to at least version 2.64. Earlier versions may make errors in removing a lock undetectable. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.