use File::Find; $feeddir = "c:/orant8"; chdir("$feeddir"); find(\&wanted, "$feeddir"); sub wanted { m/TNSNAMES.ORA/i or return; Details($File::Find::name); } sub Details { $file = shift; open(CLEAN, "$file"); @cleanup = ; for ($i = 0; $i < scalar(@cleanup); $i++) { $cleanup[$i] =~ s/oldserv001/newserv001/ig; $cleanup[$i] =~ s/oldserv002/newserv002/ig; $cleanup[$i] =~ s/oldserv003/newserv003/ig; $cleanup[$i] =~ s/oldserv004/newserv004/ig; $cleanup[$i] =~ s/oldserv005/newserv005/ig; $cleanup[$i] =~ s/oldserv006/newserv006/ig; $cleanup[$i] =~ s/oldserv2001/newserv2001/ig; $cleanup[$i] =~ s/oldserv2006/newserv2002/ig; $cleanup[$i] =~ s/oldserv2008/newserv2003/ig; $cleanup[$i] =~ s/oldserv2009/newserv2004/ig; $cleanup[$i] =~ s/oldserv2010/newserv2005/ig; $cleanup[$i] =~ s/oldserv2011/newserv2006/ig; $cleanup[$i] =~ s/oldserv2012/newserv2007/ig; $new[$i]=$cleanup[$i]; } close CLEAN; } open(WRITE, "> $file"); print WRITE @new;