The HTML::Template module attempts to make using HTML templates simple and natural. It extends standard HTML with a few new tags for variables, loops, if/else blocks and includes. A file written with HTML and these new tags is called a template. Using this module you fill in the values for the variables and loops declared in the template. This allows you to seperate design (the HTML) from the data, which you generate in the Perl script. While there are many other HTML template systems available, this module is simple and fast. It doesn't try to reinvent Perl CGI, it just augments HTML with a few new and very useful abilities.
The HTML::Template::Expr module provides an extension to HTML::Template which allows expressions in the template syntax. This is purely an addition--all the normal HTML::Template options, syntax, and behaviors will still work. Expression support includes comparisons, math operations, string operations, and a mechanism allowing you to add your own functions at runtime.
Class::XPath is a Perl module which adds XPath-style matching to your object trees. This means that you can find nodes using an XPath-esque query with match() from anywhere in the tree. Also, the xpath() method returns a unique path to a given node which can be used as an identifier.
Krang is an Open Source web-publisher / content-management system designed for large-scale magazine-style Web sites. It is a 100% Perl application using Apache/mod_perl and MySQL, as well as numerous CPAN modules. It provides a powerful and easy to use story and media editing environment for magazine editors, as well as a complete template development environment for web designers. On the back-end, Perl programmers can customize Krang to control the data entered in the story editor, and add code to drive the templates to build output.
This module implements an XML::SAX filter which adds line numbers and column numbers to errors generated by SAX handlers further down the pipeline. It was written so that XML::Validator::Schema could blame the correct line of XML for validation failures. You can use this module to enhance the error messages generated by any SAX handler.
CGI::Application::Plugin::RateLimit is a plugin for CGI::Application which provides protection against a user calling a runmode too frequently. A typical use-case might be a contact form that sends email. You'd like to allow your users to send you messages, but thousands of messages from a single user in a short period of time would be a problem.