Edinburgh Castle
Web, Graphics & Perl/Tk
AuthorsJon Orwant (editor)
DateMarch 2003
ReviewerRory Macdonald
Cover image for Web, Graphics & Perl/Tk

This is the 2nd in the 3 volumes of collected works from "The Perl Journal" and deals with "Perl programs that create things to look at". Despite the editor having taken steps to weed out journal articles which don't "hold up well over age", the visual subject matter was always going to suffer from feeling dated - especially 4 years after publication of the book.

Part 1 (web content) feels really old due to the screen shots featured, with earlier chapters dealing in timid CGI topics. The material does however grow some teeth with coverage of mod_perl, HTML::Parser, HTML::Summary and HTML::Mason.

Depending on your own experience, you may find too much of the web material to be of too little use. However, what is provided is a decent spread of toe-dipping material with something for everyone from beginners to those who are in the process of tackling their first web-fronted perl-based solutions.

Part 2's coverage of graphics includes creating graphs with gnuplot (always useful, but boils down to little more than orchestration of data and piping gnuplot commamds to gnuplot) and GD-Graph3d (as featured in Report Magic, the "analog" stats presentation tool).

Each charting chapter hand-holds the reader in getting simple charts up on screen, without going into the myriad of display options available. This is adequate taster material but it would have been nice to see reference to other charting tools.

3D graphics was next up for some back-to-basics treatment, bolstered with some OpenGL code samples and inards of a ray tracing program.

Most of the graphics chapters on offer here were little more than tasters, including; writing Gimp plugins, using Glade to create Gtk-perl apps and very basic Gnome panel applets.

However, the parting shot in this section gets its sleeves rolled up and details the use of perl as the centrepiece of a real-time video capture application. This was a refreshing departure from the preceding material in that it was a hack solution to a problem space which was given sufficient detail to hook the reader.

Part 3 closes the show with chapters treating widgets, events and callbacks for Perl/Tk apps, throwing in a couple of basic example apps to tie it all together.


Ok, this review turns up some 4 years after first publication of the book, so it would be rich to call much of the content dated, but that is an unavoidable assessment.

Combined with the "scratch the surface" nature of most of the articles, its hard to see anything other than historical or sentimental value in this volume of "The Perl Journal" articles.

Only Marc Lehmann's video capture article stands out for this reviewer, and unless you habitually collect O'Reilly books or feel the need to complete the 3 volume series, then I can't recommend this text.

Table of contents

Web, Graphics & Perl/Tk
Ch  1. Introduction

Part 1. Web
Ch  2. CGI Programming
Ch  3. Saving CGI State
Ch  4. Cookies
Ch  5. mod_per
Ch  6. Creating mod_perl applications
Ch  7. Proxying with mod_perl
Ch  8. Authentication with mod_perl
Ch  9. Navigation Bars with mod_per
Ch 10. Scripting the Web with LWP
Ch 11. Five Quick Hacks: Downloading Web Pages
Ch 12. Downloading Web Pages Through a Proxy Server
Ch 13. HTML::Parser
Ch 14. Scanning HTML
Ch 15. A Web Spider in One Line
Ch 16. webpluck
Ch 17. Torture-Testing Web Servers and CGI scripts
Ch 18. Securing Your CGI Scripts
Ch 19. Building Web Sites with Mason
Ch 20. Surreal HTML
Ch 21. Web Page Tastefulness
Ch 22. Summarizing Web Pages with HTML::Summary
Ch 23. Wireless Surfing with WAP and WML

Part 2. Graphics
Ch 24. Web Plots with Gnuplot
Ch 25. GD-Graph3d
Ch 26. GD and L-Systems
Ch 27. OpenGL
Ch 28. Ray Tracing
Ch 29. Perl and the Gimp
Ch 30. Glade
Ch 31. Gnome Panel Applets
Ch 32. Capturing Video in Real Time

Part 3. Perl/Tk
Ch 33. A Perl/Tk Roadmap
Ch 34. Getting Started with Perl/Tk
Ch 35. Scoreboard: A 15-minute Perl/Tk Application
Ch 36. The Mouse Odometer
Ch 37. Events
Ch 38. The Pack and Grid Geometry Managers
Ch 39. Drawing on a Canvas
Ch 40. Displaying Databases with the Tree Widget

About the Authors
faded separator

Page maintained via github.com/edinburgh-pm/edinburgh.pm