Hello AGAIN,

I have one final question that I think will set me free from this coding haze I've 
been in all day. Please look at the code below. Here is the idea I am trying to 
implement:

I have a text file with a list of about 56,000 filenames. Only the filenames are in 
this file.  I have another 30,000 or so .cfm and .htm files. I want to use File::Find 
to cycle through EVERY file in EVERY directory line by line (about 2 million lines in 
all). Evertime it comes across a reference to one of the 56,000 files I have in the 
list in the htm or cfm file it needs to replace it with a lowercase version of it. Not 
touching ANYTHING else.

I know it's going to take regular expressions. This is where I am totally lost. Could 
somone give me some hints. Please don't provide me with ready made code as I won't 
really learn that way. But an idea on what I need to do would be very helpful.

Thanks!
Anthony

CODE BELOW:
#!/usr/bin/perl -w
use strict;
use File::Find;

sub process_files{
 open($FH, "< $_") or die("Error! Couldn't open $_ for reading!! Program aborting.\n");
 open($MATCH, "< /home/losttre/match.txt") or die("Error! Couldn't open $MATCH for 
reading!\n");
 open($TEMP, "./temp.dat") or die ("Couldn't open temp file! Aborting\n");
 
 @MATCH = <MATCH>;
 @fcontents = <FH>;
 
 foreach $lineitem (@MATCH){
  foreach $lineitem2 (@fcontents){
   if($lineitem == i/$lineitem2/){
        #I ASSUME THIS IS WHERE MY MATCH WOULD HAPPEN AND I NEED TO REPLACE THE STRING
    }
}

NOTE: Yes, I am aware there are a lot of syntax and other problems with this code. I 
can probably correct those but I am totally lost on the matching.


    

Reply via email to