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() { $data .= $_; } close IN; $buffer =~ s/OLDWORD/NEWWORD/gis; open(OPF,">$file") or die "NOT OPENING FILE FOR MOD, $!\n"; print OPF "$data"; close OPF; } }