use Fcntl ':flock'; ... open FH, ">>$file" or die "Can't open $file: $!"; flock FH, LOCK_EX; # lock it +++ seek FH, 0, 2; # in case eof moved # ... print() to file here flock FH, LOCK_UN; close FH;