my @data = (1, 2 ,3); my $object = Foo->new; # object supports method 'compute' $tt->process('template.tt', {data=>[@data], object=>$object}); #### [% FOREACH d = data %] The datum is [% d %] and the computed result is [% object.compute(d) %] [% END %]