Official Guide to Programming with CGI.pm
CGI.pm, a Perl library for writing CGI scripts, delivers elegant  solutions for using and updating Web forms. The author, Lincoln Stein,  realized the need for a clean and simple way to manage forms and--as a  columnist for thePerl Journal, a scientist at Cold Spring  Harbor Laboratory, and a Web-based software author--created that  solution. He's (refreshingly) humble about this creative process,  explaining that it took him a few steps until he realized the key to  this HTML/Perl hybrid: simplicity.The CGI.pm standard allows the  site manager to separate data from its HTML markup for use in CGI  forms. For example, all the elements in a short drop-down menu of  vegetables can be placed in one array, changing this:peasbroccolicabbageto this:li(['peas','broccoli,'cabbage'])to be used  later throughout a Perl script.TheOfficial Guide to  Programming with CGI.pmis geared toward a reader who is familar  enough with Perl to have used modules and knowledgeable about HTML and  Web-site design. Stein uses CGI.pm for tables, drop-down menus, guest  books, single-page or multipart forms, image maps, and cookies. The  author of both the book and Perl library function, Stein provides ample  discussion of all of these areas, along with strong code examples. The  book ends with a verbose reference guide detailing all of CGI.pm's  functions and features, grouped both alphabetically and by topic.The use of CGI.pm requires a mind shift for Web site managers, but it's  one worth making. Instead of tags for 'input' and 'select', CGI.pm  uses statements such as "checkbox ()" and "textfield ()," allowing  documents to be read easily and updated quickly.--Jennifer Buckendorff