I have this find script that only seems to work 1 out of 10 times.
Most of the time it corrupts the files and messes up the data.
It is supposed to change a word in a directory and ALL of its
sub directories on an NT. Can someone advise what I am doing wrong here
to make this work correctly??
use File::Find;
my @dirs = qw( . );
find ( \&change, @dirs );
sub change
{
if ( -f && /\.html$/ )
{
my $file = $_;
open(IN, $file) or die "CANT OPEN FILE!\n";
while(<IN>)
{
$data .= $_;
}
close IN;
$buffer =~ s/OLDWORD/NEWWORD/gis;
open(OPF,">$file") or die "NOT OPENING FILE FOR MOD, $!\n";
print OPF "$data";
close OPF;
}
}