in reply to Performance Question

The first gut reaction is to say - use a template system such as Template::Toolkit, CGI::Ex::Template, or HTML::Template. However, that sometimes is overkill and it seems that it would be in your case.

The big thing that would help in your case is to simplify your system into something similar to the following:
my %swap = ( name_1 => $name_1, name_2 => $name_2, name_3 => $name_3, name_4 => $name_4, name_5 => $name_5, name_6 => $name_6, ); WHILE (<MYTEMPLATE>) { s{<\?--(name_\d+)-->}{ defined($swap{$1}) ? $swap{$1} : '' }eg; }

The key thing that makes this update faster is that you are limiting yourself to a single regex pass through. Doing multiple regex passes is going to give you a speed hit.

my @a=qw(random brilliant braindead); print $a[rand(@a)];

Replies are listed 'Best First'.
A reply falls below the community's threshold of quality. You may see it by logging in.