in reply to Callbacks and templates.

The Petal templating system also allows you to call functions on objects, and even in a relatively nice (but still ad-hoc) fashion:

# template <a tal:attribute="href object/link" href="test_link">Test link</a> # the matching code: my $object = {}; bless 'Obj', $object; my $i = 0; sub Obj::link { return sprintf "http://www.google.com?q=%s+Number", $i; };