Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Writing CGI applications with Perl
Meltzer K., Michalski B., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 2001. 560 pp. Type: Book (9780201710144)
Date Reviewed: May 1 2001

The Common Gateway Interface (CGI) is a core Web developer and Web systems administrator skill set. CGI applications are programmed using both common computer languages and specialized scripting languages, and Perl is the most commonly used CGI development language. Thus, books on Perl and CGI applications development are common. They normally focus on two tasks--teaching basic Perl and applying the Perl language to common CGI applications.

This work is different. The authors clearly state in the preface and chapter 1 that they assume that readers already have moderate Perl development competency, and that remedial Perl is not covered by the text. For experienced Perl users seeking a basic understanding of CGI development, the book is a refreshing change. For readers new to both Perl and CGI, the book will be an exercise in confusion and frustration.

The authors use an instructional style. Each chapter follows a standard format: an overview of the specific tasks addressed in the chapter, followed by a line-by-line analysis of a code sample, a clean summary listing of the completed program, and a series of exercises for the reader that are intended to expand upon the example program. The line-by-line analysis is a novel, but effective, teaching tool. The consistent focus on security issues is commendable.

The book contains 16 chapters and eight appendices. The chapters cover a broad range of topics, including a brief background on Perl and CGI, taint, HTML forms, cookies, server-side includes, file uploading, mod_perl, database access using DBI, tied variables, Mason, image manipulation, and XML. Chapter 2, on taint; chapter 4, on forms; chapter 5, on cookies; and chapter 7, on file uploading are particularly in-depth and useful for the novice or experienced CGI developer. Several of the appendices contain useful reference information for CGI developers, including Web server response codes, POSIX time formats, and common environment variables available through CGI.

The breadth of the material introduces new CGI developers to common CGI development issues, but suffers from two faults. First, the chapters are relatively brief, leaving a new developer with only a very basic understanding of many core CGI issues, including forms, cookies, file manipulation, and file uploads. Second, several esoteric topics that have little relevance for a new CGI developer are introduced, including mod_perl, Mason, and RSS/XML. A tighter focus on the core topics would better prepare new CGI developers.

The text is structured for a linear, cover-to-cover reading. Developers who do not like to read a text from cover-to-cover may find it confusing. The later chapters build on information contained in previous chapters. Since many of the later topics are quite complex, and no effective cross-references to earlier material are provided, a reader seeking to skim specific or random chapters may find explanations lacking. Fortunately, the writing style and structure make a thorough reading easy.

The definition of CGI development poses a real issue for this text. CGI applications can be developed as fully customized scripts, by using Perl CGI modules (which are libraries of CGI-related functions), or by using a combination of both techniques. Perl CGI modules are commonly used, but the use of modules in the text separates readers from core CGI issues and may reduce their understanding of the issues associated with CGI development. Unfortunately, not all readers will have access to servers on which to install the modules required by the text. Furthermore, the heavy use of Perl CGI modules may leave readers who work at companies that do not use these modules, due to stylistic and standards issues, unprepared. Modules make development simpler, but they may not always be available. A better title for the book would be Writing CGI applications with Perl modules, to clearly differentiate between simple CGI development and Perl CGI module development.

CGI development is increasingly an exercise in complex software applications. The authors do an acceptable job with a difficult task. They provide a good introduction to a broad variety of CGI-related topics. However, the variation in the quality of the coverage, the cursory treatment of core CGI issues, and the usefulness of the individual topics make this book simply an introductory text on Perl CGI module development for experienced Perl users. It provides a good basis for further study.

Reviewer:  Shannon Brown Review #: CR125159
Bookmark and Share
 
Scripting Languages (I.7.2 ... )
 
 
Perl (D.4.9 ... )
 
 
World Wide Web (WWW) (H.3.4 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Scripting Languages": Date
 Essential PHP fast: building dynamic Web sites with MySQL
Stobart S., Springer-Verlag New York, Inc., Secaucus, NJ, 2002.  256, Type: Book (9781852335786)
Mar 18 2003
PHP and MySQL manual: simple, yet powerful Web programming
Stobart S., Vassileiou M., Springer-Verlag, 2004.  590, Type: Book (9781852337476)
Apr 1 2004
Beginning PHP 5 and MySQL: from novice to professional
Gilmore W., Gilmore J., APress, LP, 2004. Type: Book (9781893115514)
Sep 20 2004
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy