This is just simply not true at all
You are very right and I am very wrong. To a point.
I was very wrong about the model of TAL which seems to be implemented more along the lines of TT or HTML::Template - just with an XML based mini language.
However, the process of calling back in to the perl layer in order to reorganize your data frames TAL in the light that I was mentioning before and is why I also indicated that HTML::Template also falls into that level. If you want the data in a different form - you HAVE to call into perl on TAL and HTML::Template. Seamstress doesn't give you the option - so you have to manipulate your data before hand.
In TT and Template::Alloy - you can call into perl to manipulate your data - but the language has enough flexibility that you don't have to.
my @a=qw(random brilliant braindead); print $a[rand(@a)];