# ungetestet use Fcntl qw(:flock); sub lock {   my ($fh, $mode) = @_;   flock $fh, $mode; } ... lock(\*FH, LOCK_EX); # exclusive # lock(\*FH, LOCK_SH); # shared