in reply to substuting a whole file
The sort is only necessary if some codes are proper substrings of others (e.g. "ab" and "abc") and prevents "abc" from matching just "ab".use strict; use warnings; my $file = "index.html"; my @codes = ("<p>", "<BR>", "<UL>"); my $codes_regex = join "|", map quotemeta $_, sort { length $b <=> length $a } @codes; # slurp the file open my $in, "<", $file or die "couldn't open $file: $!"; my $text = do {local $/; <$in>}; close $in; # lower case all the codes in text $text =~ s/($codes_regex)/lc $1/gie; # write the file open my $out, ">", $file or die "couldn't open $file: $!"; print $out $text; close $out;
The quotemeta is needed if your codes have characters in them that are special to regexes.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: substuting a whole file
by sulfericacid (Deacon) on Jan 14, 2004 at 18:17 UTC | |
by ysth (Canon) on Jan 14, 2004 at 19:59 UTC |