What if I change the html, it's just the display layer isn't it? Do I use a dumper to dump the actual variables I'm passing to the template? Isn't that looking at the implementation?
<plug type="shameless">
This is exactly what I wrote HTML::Template::Dumper for. It only works with HTML::Template, and I'm not sure how well a similar module would work for more complex template systems, like TT or HTML::Mason. However, if all your application runs is HTML::Template, you should be able to easily extend your program to use the Dumper version so you can inspect the raw datastructure being sent to the template engine.
----
: () { :|:& };:
Note: All code is untested, unless otherwise stated