#!/usr/bin/perl use strict; use warnings; use Template; my $tt = Template->new; my $data = { word => 'callbacks', emphasise => \&emphasise }; $tt->process(\*DATA, $data) || die $tt->error(), "\n"; sub emphasise { return "** @_ **"; } __DATA__ This is a template. It includes [% emphasise(word) %]