my $t =Template->new();
$t->process("his.tmpl", {lines=>\@vars}, "output.html" )
or die $t->error();
####
#!/usr/bin/perl
use strict;
use warnings;
use Encode qw(decode encode);
use Template;
my($a,$decoded);
#input bytes to $a
$a=`perl -CS -e "use utf8;print 'é'"`;
#decode it to character
$decoded=decode('UTF-8', $a);
#this will print replacement character to test_out1.html
my $t=Template->new();
$t->process("test.tmpl",{a=>$decoded},"test_out1.html");
####
#[% a %]#
####
#!/usr/bin/perl
use strict;
use warnings;
use Encode qw(decode encode);
use Template;
my($a,$decoded,$encoded);
#input bytes to $a
$a=`perl -CS -e "use utf8;print 'é'"`;
#decode it to character
$decoded=decode('UTF-8', $a);
$encoded=encode('UTF-8', $decoded);
#this is good
my $t=Template->new();
$t->process("test.tmpl",{a=>$encoded},"test_out2.html");