Use one of the various templating modules from CPAN:
- Text::Template
use strict;
use warnings;
use Text::Template;
my $template = Text::Template->new(
TYPE => 'STRING',
SOURCE => 'fred has {$color} eyes'
);
our $color = 'blue';
print $template->fill_in;
- HTML::Template
use strict;
use warnings;
use HTML::Template;
my $data = 'fred has <tmpl_var color> eyes';
my $template = HTML::Template->new(
scalarref => \$data,
);
$template->param(
color => 'brown',
);
print $template->output;
- Template
use strict;
use warnings;
use Template;
my $data = 'fred has [% color %] eyes';
my $vars = {
color => 'blue',
};
my $tt = Template->new;
$tt->process(\$data, $vars) || die $tt->error;