Book Review

Book cover image
 
 
CGI Programming With Perl, 2nd ed.

Scott Guelich, Shishir Gundavaram, and Gunther Birznieks
O'Reilly, 2000, 451 pages

 

reviewed by: T.J. Nelson


I 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 X Toolkit Intrinsics Programming and Reference manuals, 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 DNS and BIND, Programming Perl, and the ever-popular Lex and Yacc and the sequel Sed and Awk, 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. CGI Programming with Perl is a rewrite of the very popular book CGI Programming on the World Wide Web which is already six years old and therefore hopelessly obsolete. This earlier book is freely available on O'Reilly's Website.

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.

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 Programming Perl in order to use this book. The reader should also take a couple of minutes to learn HTML first.


name
November 2, 2002