HTML::Mason is a full-featured web site development and delivery system. Mason allows web pages and sites to be constructed from shared, reusable building blocks called components. Components contain a mix of Perl and HTML, and can call each other and pass values back and forth like subroutines. Components increase modularity and eliminate repetitive work. HTML::Mason is most powerful when used in conjunction with mod_perl, but can be used in standalone applications as well.
Linguaphile is a simple command line language translator. It is open source, platform independent, and programmed in Perl. Linguaphile currently supports the following languages: Afrikaans, Alawa, Albanian, Arrernte, Basque, Belarusian, Bulgarian, Catalan, Croatian, Czech, Danish, Dutch, English, Esperanto, Estonian, Finnish, French, Galician, German, Greek, Hawaiian, Hungarian, Icelandic, Indonesian, Interlingua, Irish, Italian, Kala Lagaw Ya, Korean, Kriol, Latvian, Lithuanian, Malay, Maltese, Maori, Norwegian, Pitjantjatjara, Polish, Portuguese, Romanian, Russian, Samoan, Serbian, Slovak, Slovenian, Spanish, Swahili, Swedish, Thai, Tok Pisin, Turkish, Ukrainian, Warlpiri, and Welsh. The Spanish to English translation is the most useful at this stage.
The HTML::Defaultify Perl module is designed to allow CGI programmers to present forms with some fields filled in, which is handy for letting users correct bad input, show records to be edited, and much more. The main function, defaultify(), takes any block of HTML and a hash of field names and values, and returns the HTML with the form fields set to those values. Value lists for multiple same-named fields are supported, as are pages with multiple forms. Several different input formats are supported for compatibility with existing tools.
CGI.pm uses objects to create Web fill-out forms on the fly and to parse their contents. Instead of remembering the syntax for HTML form elements, developers can just make a series of Perl function calls. An important fringe benefit of this is that the value of the previous query is used to initialize the form, so that the state of the form is preserved from invocation to invocation.
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.
HEBCI is a technique that allows a Web form handler to transparently detect the character set with which its data was encoded. By using carefully-chosen character references, the browser's encoding can be inferred. Thus, it is possible to guarantee that data is in a standard encoding without relying on (often unreliable) Web server/browser encoding interactions.
XML::Twig is an XML transformation module. It can be used to process huge documents while still being in tree mode; is not bound by DOM or SAX, so it is very Perlish and offers a very comprehensive set of methods; is simple to use; and DWIMs as much as possible. What it doesn't offer: full SAX support (it can export SAX, but only reads XML); full XPath support (unless you use XML::Twig::XPath); nor DOM support. It is also a big module, and with over 500 methods available it can be a bit overwhelming. A good starting point is the online tutorial.
PTM is a Perl/HTML hybrid language, written entirely in Perl, and similar to PHP in tag syntax. It allows for the ease of PHP-style inline code in your dynamic HTML documents, while supplying the power of Perl that many find to be sorely lacking in PHP. PTM's parser application, referred to as the PPA, acts as an Apache plugin, a standalone parser placed in the cgi-bin, or a command line parser (for debugging purposes), and is distributed for both Unix and Window platforms. Additionally, PTM wraps many variables common to PHP to ease the transition between PTM and PHP when switching back and forth.