Спасибо всем за помощь.Действительно, видимо правильно будет или 1)создавать перечень переменных или 2)унифицировать имена чтобы регексп захватывал их все.
Еще нашел модуль CGI::Embedder, вроде бы позволяет использовать в html-файле синтаксис со вставкой переменных вида <? ...> как в PHP:
NAME
CGI::Embedder - Module for HTML embedding in your Perl programs.
----------------------------------------------------------------
SYNOPSIS
#!/usr/local/bin/perl -w
use CGI::Embedder;
...
CGI::Embedder::ExpandFile("tmpl.htm"); # where tmpl.htm is:
<h1>Hello</h1>
<?for(my $i=10; $i<20; $i++) {?>
Hello, world N$i!
$i * $i = <?=$i*$i?>
<?}?>