The goal is to reduce dependencies on templating systems. They are nice, but they don't do anything perl can't do alone. Moreover, Perl, Mason and TT all have easy solutions to Problem1, but that still does not address Problem2.
There needs to be a way to output the content of the 'body' variable without having the 'inherited' portions interpolated. I was hoping for insight on how to address this issue, or at least workarounds from others who have encountered this specific issue before, assuming there are others.
As far as I can discern, the only solution (be it TT, Mason, or whatever else) would be to convert the module code into some 'intermediate' format (XML, YAML, some other 'markup') and then 'scrape' the content out that way, thus avoiding interpolation of interspersed variables in the text
You're absolutely right - templating systems don't do anything that perl can't do without them. Well, not quite. Templating systems usually can offer a much more simplified view of the data. Content, with no logic. That's what templating is for.
How I generally approach this problem is to put my content in templates, and put the retrieval of data in the code. In your case, I would use the "include" facilities of most templating systems to put the common header and footer into header and footer templates:
Dear <tmpl_var fname> <tmpl_var lname>,
It has come to our computer's attention that your account
is 30 days past due. You don't really want our computer mad
at you - last time it was mad at me, it conveniently lost
half my email and mangled the crap out of my automated
scripts. With you, I predict adding some zeros somewhere
in the middle of your account balance. Please pay up before
the computer sends a hitman to your house.