$bak = ".bak"; # backup extension $target = "*.exe"; # target files to process $from = "psylog.log"; # string to change $to = "ptotal.log"; # what to change it to # now run through all subdirectories looking for files open(FIND, "find wwwstats -name \"$target\" -print |") || die "Couldn't run find: $!\n"; while ($filename = ) { chop($filename); print "\nProcessing config file $filename...\n"; $backname = $filename . $bak; rename($filename, $backname) || die "Couldn't rename $filename as $backname\n"; open (NEW, ">$filename") || die "Couldn't open new file as $filename\n"; open (CONFIG, "$backname") || die "Couldn't open $filename\n"; while () { s/$from/$to/; print NEW; } close NEW; close CONFIG; }