Many people like Template::Toolkit and I see it's use a lot in Perl based websites. But I think that it is a bad design practice. In the past I've used Template driven design, where for each view I generate templates.
This works well to start with - but then if you want to tweak every table on the site or every tab panel you need to go in and change every set of templates - now I use "Component Based Design".
Components can be:
- "structural":
- Tables;
- Tabbed panels;
- Two-col definition lists;
- Forms;
- "inline elements":
- "Protecting" Email addresses;
- "Abbreviated" URL links (http://Xxx ... adsa/page.html);
- Citations;
- "Simple blocks":
- Captioned (and floated) images;
- Pull quotes;
- Marked up HTML/Perl/JavaScript;
- YouTube embedded videos;
- "Complex blocks/applications":
- References;
- Image galleries;