Graphics Programming with Perl, by Martien Verbruggenn, (Paperback, 328 pages); ISBN 1-930-11002-2

Reviewed by: Songmuh Jong, send e-mail
Published by: Manning Publications Co., go to the web site
Source code: go to the site
Requires: Perl
MSRP: $39.95

Perl is usually considered to be a scripting or text processing language that programmers use to quickly create a 'job' to suit business needs in the UNIX world. Business processing jobs seldom require any graphics capability, nor is the UNIX world graphically oriented. This is probably why graphics capability has been missing in the core Perl package (except for the limited TK). Therefore, it is interesting to see a book devoted to graphics programming using Perl. O'Reilly published a similar book three years ago. This new book from Manning should provide more in-depth coverage of the topic. I haven't read the O'Reilly book, but, thanks to this book, I have come to know about some useful tools.

Part 1 (chapters 1 to 3) is about the basics of graphics programming in Perl. The author starts the discussion by explaining colors, by far the best explanation I've encountered in all the books that I have ever read. The author goes into the discussion of file formats and their inter-conversion. Chapter 3 is a summary of modules available for Perl graphics.

Part 2 (chapters 4 to 9) discusses the creation of graphics, including drawing, charts, web graphics, animations for the web, image resizing and 3D graphics. The chapter on web graphics has an interesting application called Web Photo Album. The author created it to store his daughter's photo album on the web. To achieve the functionality, the author discusses the use of XML files to maintain and parsing the index. I have been interested in image resizing too and chapter 8 discusses how this can be done with the ImageMagick package. I am happy to find that this package supports multiple languages, including Java and C++.

The 3D graphics topic is inevitably centered on the OpenGL library. Here, the author discusses exceptions, not the norm, that OpenGL C library can be translated into Perl. More importantly, the author discusses how an image can be saved into a file rather than being displayed on screen. The RenderMan library is also briefly discussed for device-independent description of 3D graphics.

Part 3 (chapters 10 to 12) discusses three special topics: writing your own module, text placement, pixel manipulation and transparency. The reason you need to write your own module is that different libraries have different functionality and interfaces. The author exemplifies the need to write a customized interface for GD and ImageMagick and create an Object-Oriented implementation of a clock.

Overall, this book covers graphics programming in Perl in a logically ordered and balanced manner. It doesn't provide all the details. However, it triggers your imagination to search for more information on the topics. That's exactly how a book should function. The author has done a wonderful job. Chapters 1 and 4 are downloadable from the book web site.

Letters to the Editor are welcome and occasionally abused in public. Send e-mail to:




© Copyright 2000-2006 All rights reserved. legal notice
home | previous reviews | forums | about us | search | store | subscribe


Forums Search Home Previous Reviews About Us Store Subscribe