sub lock { my $lockhelper="lockhelper-$ENV{HOSTNAME}-$$.LCK"; my *LOCK; my $nlink; open(LOCK, ">$lockhelper") or die "Couldn't open() $lockhelper: $!"; print LOCK "$ENV{HOSTNAME};$$\n"; close(LOCK); link($lockhelper, "lockfile.LCK"); (undef,undef,undef,$nlink,undef,undef,undef,undef, undef,undef,undef,undef,undef) = stat($lockhelper); unlink($lockhelper); return $nlink==2; }