in reply to search for string append in file

Rather than reinventing the wheel (and guaranteeing that you'll eventually run into a problem), why not just use a template? That's what they were created for. E.g.:

#!/usr/bin/perl -w use strict; use HTML::Template; $|++; my @cities = ( { LABEL => "A", CITY => "Milwaukee" }, { LABEL => "B", CITY => "Milpitas" }, { LABEL => "C", CITY => "Millston" }, { LABEL => "D", CITY => "Milbrook" }, { LABEL => "E", CITY => "Millboro" } ); my $t = HTML::Template->new(filehandle => *DATA); $t->param(CITIES => \@cities); print $t->output; __END__ Content-Type: text/html <html> <head><title>Cities</title></head> <body> <TMPL_LOOP NAME="CITIES"> <p> Label: <TMPL_VAR NAME="LABEL"><br> City: <TMPL_VAR NAME="CITY"> </p> </TMPL_LOOP> </body> </html>

Output:

Content-Type: text/html <html> <head><title>Cities</title></head> <body> <p> Label: A<br> City: Milwaukee </p> <p> Label: B<br> City: Milpitas </p> <p> Label: C<br> City: Millston </p> <p> Label: D<br> City: Milbrook </p> <p> Label: E<br> City: Millboro </p> </body> </html>

--
"Language shapes the way we think, and determines what we can think about."
-- B. L. Whorf

Replies are listed 'Best First'.
Re^2: search for string append in file
by Bronston (Novice) on Dec 25, 2010 at 18:58 UTC

    Appreciate the help everyone, got me looking in the right direction. The code that worked for me is this.

    open (IN, "+<site.html"); my @file = <IN>; seek IN,0,0; foreach $file (@file){ $file =~ s/$find/$dir/g; print IN $file; } close IN;

    Thanks again everyone