I'm having problems with corrupted data about every month or so. The problem seems to be that the New file sometimes writes only about half the old file. I was under the impression that flock would prevent the data from being corrupted. Can anyone tel me what I am doing wrong, and what I should be doing instead?
open(OLD,">$old") or die "Can't Open File: $!"; flock OLD, 2; open(NEW,$new) or die "Can't Open File: $!"; flock NEW, 2; while (<OLD>) { if ($_ =~ /NO_EMAIL/) { $count++; } else { print NEW $_; } } close(NEW) or die "Can't Close File: $!"; close(OLD) or die "Can't Close Old: $!"; Is there something inherently wrong with doing it this way?