use warnings; use strict; use Template; my $tt = Template->new(); my %data_href = ( fname => 'William', lname => 'Shakespeare', ); my %data_map = ( first_name => 'fname', last_name => 'lname', ); $tt->process( \*DATA, { map { $_ => $data_href{ $data_map{$_} } } keys %data_map }, ) or die $tt->error(), "\n"; __END__ New third party template with individual varnames ================================================= First name : [% first_name %] Last name : [% last_name %]