This code can handle simple substituions, but how do you handle conditions and loops? Includes? Nested wrappers? Most of the work i deal with involves database lookups and displaying rows of information, which is why i turn to modules such as Template-Toolkit, HTML::Mason, and HTML::Template.