Hello Everyone,
Here is the final code for my replacement script. I am about to test it out but I
think it will work. Thanks to all who helped!!
#!/usr/bin/perl -w
use File::Find;
my $FileCount = 0;
my $LineCount = 0;
sub process_files {
my $FinalString = "";
my $ConvertedText = "";
my $TotalReplacements = 0;
open MASTER_FILE, "/home/losttre/sorted.txt" or die ("Can't open file: sorted.txt!
Aborting!\n");
open TEMP_FILE, "> tempfile" or die("Can't open file: TEMPFILE! Aborting!\n");
open THIS_FILE, "< $_" or die("Can't open target file: $_! Aborting!\n");
@MATCH_KEYS = <MASTER_FILE>;
@MATCH_TARGETS = <THIS_FILE>;
foreach $matchkey (@MATCH_KEYS) {
foreach $lineitem (@MATCH_TARGETS) {
if($lineitem =~ m/$matchkey/i){
$ConvertedText = lc($matchkey);
$FinalString = s/$matchkey/$ConvertedText/;
print TEMP_FILE "$FinalString\n";
$LineCount++;
$TotalReplacements++
}
else{
print TEMP_FILE "$lineitem\n";
$LineCount++;
}
}
close(TEMP_FILE);
close(THIS_FILE);
# unlink(THIS_FILE)
#rename(TEMP_FILE, THIS_FILE);
$FileCount++;
}
}
print "Process starting...\n";
print "Cycling through files. This might take some time.\n";
find(\&process_files, @ARGV);
print "DONE!\n";
print "FILES PROCESSED: $FileCount\n";
print "LINES PROCESSED: $LineCount\n";
print "REPLACEMENTS: $TotalReplacements\n";
print "Exiting...";