use strict;
use warnings;

my $csv = your_csv_file; # replace your csv file name here
open FH, $csv or die "canot open file $csv: $!\n";
for(<FH>)
{
        chomp;
        if (/(.+?),(\d+)/)
        {
                # we got file name in $1 and the number in $2
                my $file = $1
                my $num = $2;
                my $temp = ".temp";
                open FHTML, $file or warn "cannot open $1; $!, ignore\n"
and next;
                open TEM, ">$temp" or warn "cannot open temp file to
write\n" and next;
                for (<FHTML>)
                {
                        s/$1/$num/g if /author_id = "(\d+)"/;
                        print TEMP;
                }
                close TEMP;
                rename $file, $temp;
        }
}

Don't tested. Hopes help
 

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, August 14, 2007 1:39 AM
> To: beginners@perl.org
> Cc: [EMAIL PROTECTED]
> Subject: Re: Find and replace from CSV
> 
> On Aug 9, 8:12 am, [EMAIL PROTECTED] wrote:
> > Hi, I am new to Perl.
> >
> > I am trying to replace a string within a bunch of html files.
> >
> > Ideally, I would like to have the file name pulled from a list in a
> > text file, open the file, search for the string that will 
> be replaced
> > within the file, pull the replacement string from another file, then
> > replace the string, close the file and move on to the next one.
> >
> > Does anyone know of a good place to find an existing script I can
> > modify for my purposes?
> >
> > Thanks.
> 
> 
> Thanks for all of the replies.
> 
> To answer Paul's question, I think I wasn't very clear with what I am
> trying to do.
> 
> There are a few thousand html files. Within each file I want to change
> the numbers in this string: author_id = "60000";    (The 60k will
> vary.) with numbers that will be file specific.
> 
> I have a csv file with the html file names and the corresponding
> replacement numbers. example: html_file_1.html,66548
> html_file_2.html,98754   html_file_3.html,24514 etc...
> 
> I need the script to open the files listed in the CSV and replace the
> 5 digit number in the html file with the one in the CSV.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> -- 
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> http://learn.perl.org/
> 
> 
> 
> 

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to