if (-e "$file") { open WRITER, "+<$file", $file or die "Can't open: $!"; flock WRITER, LOCK_EX or die "Can't lock $file: $!"; truncate WRITER, 0 or die "Can't truncate $file: $!"; } else { open WRITER, ">$file" or die "Can't open: $!"; flock(WRITER, LOCK_EX or die "Can't lock $file: $!"; } #do whatever....