in reply to regex vs split
Unless this is a learning exercise, I'd suggest HTML::Template or Template Tookit for this kind of thing.
As an exercise, here's one approach. Start with a hash of keywords=>replacements:
# this is a complete fragment but not an application. It should # start with 'use strict; use warnings' and proceed to set up your # needed support for file names, variables to interpolate in the # substitutions, etc. my %repples = { 'TITLE' => 'An Exercise', 'STUFF' => 'Contents of my Pack', }; my $keyalt = join '|', keys %repples; # 'STUFF|TITLE' *may* be the value of $keyalt, the order might differ open TEMPLATE, "< template.html" or die $!; open FINISHED, "> finished.html" or die $!; while (<TEMPLATE>) { s/\*{4}($keyalt)\*{4}/$repples{$1}/g; print FINISHED; } close(FINISHED) or die $!; close(TEMPLATE) or die $!;
Constructing the alternation $keyalt from the substitution keys allowa the intruduction of new keys with a minimum of fuss.
I guess the answer to the title question is "It depends." It depends on what your goal is. The local $/ = '****'; while (<TEMPLATE>) { chomp; ...} approach and the split on a fixed string approach both looked feasable and natural when it seemed to be an odd database format we were talking about. As it turns out, there is no need for all that manipulation.
After Compline,
Zaxo
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re2: regex vs split
by pmas (Hermit) on Aug 23, 2001 at 18:04 UTC |