CGI Programming with Perl and over one million other books are available for Amazon Kindle. Learn more


or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Kindle Edition
 
   
More Buying Choices
Have one to sell? Sell yours here
CGI Programming with Perl
 
 
Start reading CGI Programming with Perl on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

CGI Programming with Perl [Paperback]

Gunther Birznieks (Author), Scott Guelich (Author), Shishir Gundavaram (Author)
3.4 out of 5 stars  See all reviews (32 customer reviews)

List Price: $39.99
Price: $22.61 & eligible for FREE Super Saver Shipping on orders over $25. Details
You Save: $17.38 (43%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it delivered Monday, January 30? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for Students. Learn more

Formats

Amazon Price New from Used from
Kindle Edition $17.59  
Paperback $22.61  
Like this book? Find similar titles from O'Reilly and Partners in our O'Reilly Bookstore.

Book Description

1565924193 978-1565924192 January 15, 2000 Second Edition

Programming on the Web today can involve any of several technologies, but the Common Gateway Interface (CGI) has held its ground as the most mature method--and one of the most powerful ones--of providing dynamic web content. CGI is a generic interface for calling external programs to crunch numbers, query databases, generate customized graphics, or perform any other server-side task. There was a time when CGI was the only game in town for server-side programming; today, although we have ASP, PHP, Java servlets, and ColdFusion (among others), CGI continues to be the most ubiquitous server-side technology on the Web.

CGI programs can be written in any programming language, but Perl is by far the most popular language for CGI. Initially developed over a decade ago for text processing, Perl has evolved into a powerful object-oriented language, while retaining its simplicity of use. CGI programmers appreciate Perl's text manipulation features and its CGI.pm module, which gives a well-integrated object-oriented interface to practically all CGI-related tasks. While other languages might be more elegant or more efficient, Perl is still considered the primary language for CGI.

CGI Programming with Perl, Second Edition, offers a comprehensive explanation of using CGI to serve dynamic web content. Based on the best-selling CGI Programming on the World Wide Web, this edition has been completely rewritten to demonstrate current techniques available with the CGI.pm module and the latest versions of Perl. The book starts at the beginning, by explaining how CGI works, and then moves swiftly into the subtle details of developing CGI programs.

Topics include:

  • Incorporating JavaScript for form validation
  • Controlling browser caching
  • Making CGI scripts secure in Perl
  • Working with databases
  • Creating simple search engines
  • Maintaining state between multiple sessions
  • Generating graphics dynamically
  • Improving performance of your CGI scripts

Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

CGI Programming with Perl + Programming the Perl DBI + KornShell Programming Tutorial
Price For All Three: $88.52

Show availability and shipping details

Buy the selected items together
  • In Stock.
    Ships from and sold by Amazon.com.
    Eligible for FREE Super Saver Shipping on orders over $25. Details

  • Programming the Perl DBI $29.29

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • KornShell Programming Tutorial $36.62

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought


Editorial Reviews

Amazon.com Review

The appearance of the second edition of CGI Programming with Perl heralds the beginning of the neoclassical era of Web service. CGI--or common gateway interface--is the original back end for client-driven, dynamic Web-page service and deserves consideration as the Romulus of the Internet Empire. But, where first-edition author Gundavaram described the lonely Romulus laying the brick foundation of dynamic Web-page service in 1996, second-edition collaborators Guelich and Birznieks have pitched in to resurrect Romulus amid the crowded streets of modern Rome. Why bother? Surely four years have brought technological revolutions (Java, PHP, ASP, ColdFusion) that render CGI's original brick-by-brick approach as obsolete as, say, Roman mythology--or bricks and mortar.

And yet not. It is an ambiguous blessing that the original CGI persists, adhering to the underside of Web service by the duct tape that is Perl. This point is not missed by Guelich, Gundavaram, and Birznieks, whose advocacy of CGI is both bolstered by the growing applications module base of Perl and tempered by their awareness of CGI's structural limitations. Both new and returning readers of CGI Programming with Perl should browse the last chapter first in order to appreciate the proposed solutions to CGI's greatest sin: its impractical slowness in a world of a million-hits-per-day Web service. The chapter describes CGI-compatible FastCGI and mod_perl technologies that circumvent the process-spawning slowness of the simple CGI. Advanced users might want to skip directly to O'Reilly's fine mod_perl tome, Writing Apache Modules with Perl and C, by Lincoln Stein and Doug MacEachern.

The authors' second pass at CGI pedagogy is a lucid, honest, and expanded account that develops functionality of dynamic Web pages in a rational progression--from HTML client-server and CGI syntax basics to general input/output, forms, e-mail, graphics, and simple database applications, including maintaining client state and data persistence under the otherwise stateless HTTP protocol. The authors offer synopses of cookies, JavaScripting, server security, and XML, all of which are described in detail in other books.

Whether or not neoclassical CGI is fast enough for your purposes--perhaps for guarded intranets--bear in mind that CGI is the standard to which every other Web server has had to respond. The second edition of CGI Programming with Perl is still the best introduction to the classics. --Peter Leopold

About the Author

Scott Guelich graduated from Oberlin College in 1993 with a philosophy degree and decided to "only take a few years off" before continuing with graduate school. Unable to find any listing for "Philosopher Wanted" in the classifieds, and having done some programming while growing up, he quickly found himself working with computers. He discovered the Internet the following year and Perl the year after that. Scott has been a web developer for the past few years and currently contracts in the San Francisco Bay Area. He enjoys taijiquan, mountain biking, wind surfing, skiing, and anything that gets him outside and closer to nature. Despite the hours he spends working online, Scott is actually a closet Luddite who doesn't own a television, hasn't bought a cell phone, and still intends to make it to graduate school . . . some day.

Shishir Gundavaram graduated from Boston University with a BS in Biomedical Engineering in May of 1995. For his undergraduate thesis, he developed a Windows application for the Motor Unit Lab of the NeuroMuscular Research Center that allowed researchers to acquire and analyze muscle force output from patients to indirectly observe the electrical activity of muscles. He was the sole author of CGI Programming on the World Wide Web, published by O'Reilly & Associates, Inc., in 1996.

Gunther Birznieks is currently the chief technology officer for eXtropia.com, best known for its open source web programming archives and online tutorials in a variety of subjects related to web programming (Perl, CGI, Java). Before this, Gunther did web programming and infrastructure for the Human Genome Project. Most recently, he was an associate director at Barclays Capital where he had been the global head of web engineering.


Product Details

  • Paperback: 451 pages
  • Publisher: O'Reilly Media; Second Edition edition (January 15, 2000)
  • Language: English
  • ISBN-10: 1565924193
  • ISBN-13: 978-1565924192
  • Product Dimensions: 9.2 x 7 x 1.1 inches
  • Shipping Weight: 1.5 pounds (View shipping rates and policies)
  • Average Customer Review: 3.4 out of 5 stars  See all reviews (32 customer reviews)
  • Amazon Best Sellers Rank: #361,393 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

32 Reviews
5 star:
 (10)
4 star:
 (7)
3 star:
 (6)
2 star:
 (5)
1 star:
 (4)
 
 
 
 
 
Average Customer Review
3.4 out of 5 stars (32 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

30 of 30 people found the following review helpful:
4.0 out of 5 stars What's different about this book?, November 19, 2001
This review is from: CGI Programming with Perl (Paperback)
While there're a few boooks available on CGI/Perl, what's different in this book you'd ask. If we compare it with "CGI Programming 101" by Jaqueline, it's more advanced and excersices better programming style. Uses 'strict' pragma and -wT switches ALL THE TIME, which I liked a lot. The programs are also compatible in mod_perl enviroment, which prove the fluency of the authors in Perl and Web Programming. Unfortunately their those capabilities don't make them good writers. They don't spend enough time on some of the concepts they introduce. They sepend more time and space then requried on JavaScript(chapter 7), which is about 23 pages, and spend only 16 pages on Data Persistence (chapter 10). But in Data Persistence chapter they tried to cover Text files, all kinds of file lockings, temporary files, DB_File, MLDBM, SQL, DBI. Now you have a rough picture of how dEtAiLeD their topisc are. Here I'll try go over chapters with comments and will be suggesting alternatives for the topic wherever it's applicable

Chapter 1, 2 and 3 give some history of the WWW and CGI. Also provide a smaple CGI application for getting started. I think chapter 2, "Hypertext Transfer Protocol" was pretty informative, and I ejoyed it a lot.

Chapter 4, "Forms and CGI" go over some form anatomy and elementary ways of encoding and decoding form input, which you might find usefull.

Chapter 5 is entirely dedicated to CGI.pm and it's application. I still think CGI.pm's documentation available online (or with your Perl distribution) does way better job than this one chapter.

Chapter 6, "HTML Templates" gives some nice examples of HTML::Template and Embperl usage. They spend good space on these, but only about 3 pages to cover Mason. Of course, the chapter can't take you too far without the original documentations of those mentioned libraries which are available online.

Chapter 7, as I mentioned was dedicated to JavaScript and JS validation. I think they were not supposed to spend so much time on JavaScript. For this one, go get JavaScript Bible, 4th edition by Danny Goodman.

Chapter 8, Security covers the security guidelines already available online as W3C's security FAQ by L. Stein and John Stewart.

Chapter 9, "Sending Email" was probably my favorite. It covers 'sendmai', mailx and mail and procmail. Spends good 18 pages on the topic and shows an examile that uses Mail::Mailer

Chapter 11, Maintaining State, was really poor. There's nothing much to learn in that chapter. For more profesional session management examples, I suggest you "MySQL and Perl for the Web" by Paul DeBois and Apache::Session manual available online.

Chapter 12, "Searching the web" give some advanced examples of web searching. The example of Inverted Index Search using DB_File was my favorite.

Chapter 13, "Creating Graphics on the fly" give some examples of dynamic graphic generation using GD, Image::Magick and GD::Graph. I could give this chapter hmmm... 3 stars :)

Chapter 14, "Middleware and XML" was the one I just skipped over.

The last 3 chapters of the book are dedicated to debugging, coding with style and eficiency with mod_perl and FastCGI.
For debugging and style, I recommend "Programming perl 3rd edition".

Overall, i benefitted from the book a lot as it implies from my review. But still wanna save my 5 stars for the 3rd edition :)

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


29 of 32 people found the following review helpful:
1.0 out of 5 stars Rush job and it shows, July 25, 2000
This review is from: CGI Programming with Perl (Paperback)
This book is full of typos, which is forgivable if the code examples don't have typos, but they do. For instance, in the code for upload.cgi on pg 99, the following declaration is made:

use constant UPLOAD_DIR => "/usr/local/apache/data/uploads";

Note this does NOT end with a slash. Later, though, a loop is initialized as follows:

until (sysopen OUTPUT, UPLOAD_DIR . $filename, O_CREAT | O_EXCL)

$filename is taken from user form input, but unless the user was omniscient and put a slash at the beginning of the name he assigned, then the expression "UPLOAD_DIR" . $filename would evaluate to something like:

/usr/local/apache/data/uploadsbleedin_file_name

instead of the correct: ".../uploads/bleedin_file_name". Oh, and speaking of putting a slash at the beginning of the file name....there is code that is supposed to prevent such, as evidenced by the line:

error($q, "Invalid file name; files must start with a letter or number.");

I don't know about slashes, but it didn't prevent me from sending a file name through that begin with a tilde.

Yes the book covers some things you won't find anywhere else, but a lot of the stuff it covers is better covered elsewhere: OReilly's "Webmaster in a NutShell" has better coverage of HTTP. It (Webmaster) also discusses using the use statement to reference a library in a path where you might have had to manually install it in your virtual hosting directory if for instance you couldn't convince your ISP to upgrade to the latest version of CGI.pm. This wasn't covered in the CGI book, which is supposed to be solely about CGI, whereas the Webmaster book not only covers CGI/Perl, but also JavaScript, PHP, etc.

Don't waste your money....I'm sorry I did

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


22 of 24 people found the following review helpful:
3.0 out of 5 stars NOT a "quick and dirty" CGI reference..., August 21, 2000
By 
H. Lanza (Austin, Texas USA) - See all my reviews
(REAL NAME)   
This review is from: CGI Programming with Perl (Paperback)
You must be careful when usign this book. I found myself wasting a lot of time typing (oreilly's ftp site was down, and has been down lately--what can I say?) and implementing the examples in the book only to get to the end of the chapters to find out that the authors were holding out on me for a better solution. For example: Parsing forms? Don't implement anything on Chapter 4, "Decoding Form Input." Wait until the next chapter about CGI.pm. Searching the web server (Chapter 12)? Wait until the end of the chapter before implementing anything, or waste alot of time.

Don't get me wrong, this book has some decent information in it. And there is much learning to be done in reviewing how NOT to do certain things. However, I'm not sure how many people read CGI books from cover to cover.

Bottom line: the authors should have been more mindful of their audience's time constraints and should have tailored the exposition of material accordingly.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews



Inside This Book (learn more)
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Back Cover | Surprise Me!
Search Inside This Book:

Citations (learn more)
1 book cites this book:

What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(5)
(5)
(2)

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject