$bak = ".bak"; # backup extension $target = "*.htm"; # target files to process $from = "@sghms.ac.uk>"; # string to change $to = "@sghms.ac.uk\">"; # what to change it to # now run through all subdirectories looking for files open(FIND, "find . -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; }