"> <!--#echo var="title" -->

The Edmonton Linux User Group
Close Window

<!--#echo var="book_code" --> cover

-->
by

,

review by
,

This is a potentially useful book, depending on what stage and experience you are at with Perl programming and website administration. It is certainly more than what the title suggests, as it also includes basic tutorial information for both subjects - good if you need a review; less so if all you want are specifics for the suggested task.

The actual meat of the book includes following the author's path when he set up a variety of web management tools for a California School's CyberFair 2000 project - such things as using Perl to generate HTML pages, including links, with CGI scripts (This is NOT generating dynamic web pages on the fly). It also includes useful tools (with explanations) for monitoring log files, tracking users as they visit your site, monitoring search engine positioning, and link verification.

I appreciated the reminder (for myself, in particular) that for almost everything you may want to do in Perl, you can get a module from CPAN to help. I know that in my own Perl programming, I'm still doing many things my own way. The benefit for me, though, is that I understand better what is happening; the drawback is that my code base is larger and potentially more complicated.

I also appreciate that some attention was given to file locking issues, though the information was scattered in a few locations, and I'm not sure it went far enough. No mention was made of Perl's standard flock() mechanism, which may be a good thing, as my own experience, research, and testing indicates that it is not reliable. What was covered was Perl's Fcntl module with its semaphores (lock files), and the idea that file access must sometimes be blocked from others across multiple accesses. Because file locking may potentially block access to one process forever, the author's routine uses a short (timed) loop to get a lock or to die.

In my own applications, dying for that reason is not an option - I've taken to using a socket daemon to arbitrate classes (categories) of file access: Each process will request file access permission from the daemon, and get that permission in turn, do all it needs to, then tell the daemon it is done (or the process dies); the daemon will queue all requests and hand out permission in order. The benefit is an absolute guarantee (for all programs following the protocol) of exclusive access. The drawback is that you cannot have a separate daemon for every conceivable file, so all similar file types (however you want to define them) would require their own access daemon - only one file in the group can be accessed at a time.

For most purposes, the author's code will work just fine.

Only one thing about the book bothers me, and it might be just me: There are several places where the author indicates that a particular Perl technique scared him (or worked like magic, etc.). I'm not sure if that was to make readers feel more in tune with him if they felt that way, or if it was because he didn't fully understand it himself.

Nevertheless, there is some good content there, and I expect to implement some of the code/apps myself, very soon.

Web Hosting by ROPE Internet Services
copyright © 1999-2006 by RATS! (ROSCO Associates Technology Staffing Ltd.)