Home arrow Perl Programming arrow Templating Tools

Templating Tools

You may have created your own templating system in Perl to meet certain project requirements, but did you know there is a better way? This article, the first in a five-part series, explores your options. It is excerpted from chapter three of Advanced Perl Programming, Second Edition, written by Simon Cozens (O'Reilly; ISBN: 0596004567). Copyright 2007 O'Reilly Media, Inc. All rights reserved. Used with permission from the publisher. Available from booksellers or direct from O'Reilly Media.

  1. Templating Tools
  2. Formats and Text::Autoformat
  3. Text::Autoformat
  4. Text::Template
By: O'Reilly Media
Rating: starstarstarstarstar / 2
August 07, 2008

print this article



A recent thread on comp.lang.perl.moderated enumerated the Perl rites of passage-- the perfectly good wheels that every journeyman Perl programmer reinvents. These were found to be a templating system, a database abstraction layer, an HTML parser, a processor for command-line arguments, and a time/date handling module.

See if you recognize yourself in the following story: you need to produce a form letter of some description. You've got a certain amount of fixed content, and a certain amount that changes. So you set up a template a little like this:

  my $template = q{
      Dear $name,

      We have received your request for a quote for $product, and have
      calculated that it can be delivered to you by $date at a cost of
      approximately $cost.

      Thank you for your interest,

      Acme Integrated Foocorp.

Then you struggle with some disgusting regular expression along the lines of s/(\$\w+)/$1/eeg, and eventually you get something that more or less does the job.

As with all projects, the specifications change two days after it goes live, so you suddenly need to extend your simple template to handle looping over arrays, conditionals, and eventually executing Perl code in the middle of the template itself. Before you realize what's happened, you've created your own templating language.

Don't worry if that's you. Nearly everyone's done it at least once. That's why there's a wide selection of modules on CPAN for templating text and HTML output, ranging from being only slightly more complex than
s/(\$\w+)/$1/eeg to complete independent templating languages.

Before we start looking at these modules, though, let's consider the built-in solution--the humble Perl format.

>>> More Perl Programming Articles          >>> More By O'Reilly Media

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort


- Perl Turns 25
- Lists and Arguments in Perl
- Variables and Arguments in Perl
- Understanding Scope and Packages in Perl
- Arguments and Return Values in Perl
- Invoking Perl Subroutines and Functions
- Subroutines and Functions in Perl
- Perl Basics: Writing and Debugging Programs
- Structure and Statements in Perl
- First Steps in Perl
- Completing Regular Expression Basics
- Modifiers, Boundaries, and Regular Expressio...
- Quantifiers and Other Regular Expression Bas...
- Parsing and Regular Expression Basics
- Hash Functions

Developer Shed Affiliates


Dev Shed Tutorial Topics: