sysopen(my $fh, ...); if(flock($fh,LOCK_EX|LOCK_NB)) { print $fh ...; $fh->flush; flock($fh,LOCK_UN); } close($fh);