[Preface] What You Are Expected to Know Before Reading
Author: Shishir Gundavaram
Date: Tue Aug 26 16:30:58 1997

#

| Preface |

## What You Are Expected to Know Before Reading

People at many different levels of computer expertise come to CGI to solve their problems. CGI involves programming, so I expect you to be comfortable thinking like a programmer. I don't expect you to know any particular language, but you must promise that when I show you a loop, you won't be thrown for a loop. I want this book to be chock full of unique CGI techniques that you won't find elsewhere, and therefore I don't want to take up space telling you things that you can find in many other books.

The language of choice for CGI programming is Perl, at least on UNIX systems. I also talk a little about several other languages, notably Tcl. But most examples are in Perl. Still, I don't expect to force you into being a Perl programmer. I try to describe everything I do carefully in plain English, so you can implement the same techniques in the language of your choice. Remember, the main thing to learn is the concept; the way you implement it is up to you.

If you do come to the same conclusion that thousands of CGI programmers have reached-that Perl is the easiest language in which to do the text and array manipulation that characterizes CGI tasks-then you can use my examples as a basis for your own Perl programs, and supplement the book with either the extensive manual pages or the books on Perl from O'Reilly & Associates: Learning Perl by Randal Schwartz as a beginning tutorial and Programming Perl by Larry Wall and Randal Schwartz for advanced techniques. Perl is available on many non-UNIX systems, by the way.

I should admit up front that there's a UNIX bias in this book, because UNIX is the most popular system for Web servers. Some of the things I do all the time on UNIX-such as pipe output to another program-have to be done differently on other systems. And similarly, some of the security concerns that go along with executing UNIX commands won't exist on other systems. But I repeat: The basic CGI tasks are the same in any language, on any system. They spring from the division of labor between client and server, and the protocols they use to communicate.

What's in the Book |  | Organization of This Book