<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML LANG="en">
<HEAD>  
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
CGI Programming With Perl
</TITLE>
</HEAD><BODY BGCOLOR="#ffffff">





<FONT SIZE="-2">Book Review</FONT>
<TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0"><TR><TD BGCOLOR="#E7E7E7">
<H2>
<IMG SRC="cgi.gif" ALIGN="LEFT" ALT="Book cover image" >
<BR>&nbsp;<br>&nbsp;<BR>
CGI Programming With Perl, 2nd ed.
</H2>
<H3>
Scott Guelich, Shishir Gundavaram, and Gunther Birznieks
<BR>
O'Reilly, 2000, 451 pages
</H3>
<P>&nbsp;<P>
<P>
Thomas J. Nelson
<BR>
</TD></TABLE>


<BR>
<IMG SRC="I.gif" alt="I" align="left">
may be burned at the stake for 
saying this, but I have never found O'Reilly books to be as great 
as everyone else claims. The multi-volume X Window / Motif programming 
manuals are as badly-written as any computer book you will ever find 
(particularly volumes 4 and 5, the <B> X Toolkit Intrinsics Programming </B>
and <B>Reference manuals</B>, which suffer from an abominably awkward, 
dull, verbose, and disorganized writing style). On the other hand, many 
of the computer books, like the best-sellers <B>DNS and BIND,</B> 
<B>Programming Perl,</B> and the ever-popular <B> Lex and Yacc</B> and 
the sequel <B>Sed and Awk,</B> published by O'Reilly, are among the most 
well-written computer books available, and are indispensable for Unix 
programmers because the man page documentation for these commands is, well, 
terse. <B> CGI Programming with Perl </B> is a rewrite of the very popular 
book <B> CGI Programming on the World Wide Web</B> which is already six
years old and therefore hopelessly obsolete. This earlier book is freely 
available on O'Reilly's Website.
<P>
CGI programming is actually rather trivial, and some could question whether
a 451 page book on the subject is really needed. However, the authors show 
that when combined with Perl, the "duct tape of the Internet", CGI actually
has a lot of tricks. The reader is guided through forms, templates, security, 
email, and server-side includes, and there are chapters on the CGI.pm module, 
searching, graphics, and integrating with SQL databases, and a chapter on 
JavaScript and "bookmarklets". For readers with programming experience who 
have never gotten around to learning Perl, this book is an easy way of learning 
it. Another reason to use the Perl scripts in this book is security. It is easy 
for novice programmers to create gaping security holes by writing bad CGI 
scripts. Chapter 8 discusses techniques for writing safe CGI scripts.
<P>
The book is well organized and readable. It is oriented toward the Apache
server, and like most O'Reilly books, is slanted toward Unix. However, a few 
of the Perl scripts contain syntax errors that would prevent them from running.
Thus, unless you are familiar with Perl programming, you will need 
a copy of <B> Programming Perl </B> in order to use this book. The
reader should also take a couple of minutes to learn HTML first.
<HR>
<I>Thomas J. Nelson (tjnelson at brneurosci dot org) November 2, 2002</I><BR>
Last modified <!--#echo var="LAST_MODIFIED"-->
<P>
</BODY>
</HTML>
