Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Perl For Web Site Management

by davorg (Chancellor)
on Jul 16, 2002 at 19:03 UTC ( #182202=bookreview: print w/ replies, xml ) Need Help??

Order Perl For Web Site Management

Item Description: Perl for "Accidental Programmers"

Review Synopsis: A great introduction to Perl for people who aren't programmers by training

First things first. This isn't the book that I thought it was going to be. I was expecting to read a book that taught experienced programmers some Perl tricks that made it easier to manage a web site - something like a companion piece to O'Reilly's Perl for System Administration by David Blank-Edelman. Turns out that's not what this book is at all.

Instead, it's an introduction to Perl for someone who runs a web site and decides that they need to take their computer knowledge to the next level and learn some programming skills. Callender calls these people "accidental programmers" and he is very understanding of their needs having been one himself only a few years ago.

So immediately this book has a completely different target audience to the majority of O'Reilly's Perl books. It's competing against all the brightly coloured books with titles like Perl for Morons or Learn Perl in 30 Seconds. These books are, almost without exception, written by people with minimal Perl knowledge, so it should come as no surprise that Callender's book is vastly superior to all of them.

The first major advantage that this book has is that it doesn't simply try to sell Perl as "the CGI language". Callender is at pains to point out that Perl can be useful for any number of other tasks involved in running a web site. Very early on we are looking at updating the links in an HTML file using regular expressions (and there's even a discussion on the fragility of this approach and pointers to better solutions using CPAN modules). A little later on we are looking at writing reports on web site hits by parsing the access logs. This is the kind of work that Perl excels at - the fact that you can you use the same language to write CGI programs as well should be seen as a bonus.

As I mentioned before, Callender is not a programmer by training (this is sometimes obvious from his code examples) but he has obviously learned from good sources. He encourages all the good habits that are missing from most of his competitors books - all of his examples use -w and use strict and all of CGI programs are written using CGI.pm. There's even a far more detailed explaination of the importance of security and taint mode than I've seen in any book aimed at this audience. Another bonus is the discussion of the necessity and mechanics of file locking.

Another topic that often missing from beginners books is the huge library of ready-written Perl modules called the CPAN. Many authors seem to think that this concept is beyond their audience and thereby many newcomers to Perl never discover this treasure chest and spend their entire programming life studiously reinventing wheels unnecessarily. Callender has no time for this point of view and in the middle of chapter 11 he has us downloading and installing modules from CPAN. This approach is bound to lead to more productive Perl programmers.

I mentioned that Callender was himself an accidental programmer. This means that the chapters are full of anecdotes of the kind of problems he experienced when first starting to program in Perl. As well as learning about programming in general, Perl and CGI, most of the book's target audience will be Windows or Mac users who have no knowledge of Unix and, in most cases, that's the operating system that their web server will be running on. Once again, Callender has already made this journey and he proves to be a most able guide.

So, all in all, I think this is a great book. If you're thinking that you need to learn some Perl in order to add CGI programs to your web site, then please consider this book before any of the other beginners Perl and CGI books. You'll end up with a much better understanding after reading this book. But this leads me to my only problem with the book. I'm really not convinced that the people who are in the target audience will pick up this book when they are browsing in a bookstore. I think that O'Reilly books are seen as being for experts and I also think that the title doesn't explain the contents of the book very well.

I could, of course, be wrong. I hope I am.

Comment on Perl For Web Site Management
Select or Download Code
Re: Perl For Web Site Management
by aersoy (Scribe) on Jul 17, 2002 at 01:23 UTC

    Hello,

    There's another review of this book at slashdot.org, in case somebody is interested.

    --
    Alper Ersoy

Re: Perl For Web Site Management
by Louis_Wu (Chaplain) on Nov 16, 2002 at 02:37 UTC
    One target audience for PFWSM is web monkeys who use O'Reilly books, but don't know how to program. They want to learn Perl/CGI/"automate my website", so they check out the O'Reilly titles.

    That's what I did. I tried to teach myself Perl with the Llama, but I don't know how to program. (I've picked up much of my 'knowledge' about programing from Slashdot, so I'm trying to learn good habits from here and O'Reilly.) The Llama without a programming background is hard: I got through most of it, but still wasn't comfortable with what I 'knew'. (Plus I was finishing my senior design project in college. :) With PFWSM, I'm comfortable with features as I learn them. Additionally, much of my motivation for learning Perl & programming is automating web sites & automating local tasks.

Re: Perl For Web Site Management
by EvanCarroll (Chaplain) on Oct 01, 2005 at 01:01 UTC
    I think your review is too long, and candy coated. Let me sum it up.

    This book sucks



    Horrible practice throughout the book, parsing HTML with regexs and such, lots of CGI examples, nothing much of mod_perl. Very disappointing, I would say it covers much of what the llama book does -- Learning Perl, and with much less grace.

    Just because this book teaches regexes, as they apply to the Apache log files does not make it tailored to web management in my eyes. Anyone managing a web site, that uses perl, can add two and two together, and figure out how to parse their own file. I would use it to wipe my arse, but the pages are too hard. 100% useless.


    Evan Carroll
    www.EvanCarroll.com
      As sister Jane says in the recent "Pride and Prejudice" adaptation, "everyone is not the _same_, Lizzie." The reason I wrote this book is well summed up by the earlier commenter, a non-programmer who was uncomfortable when reading the Llama (from which I also learned Perl, and was similarly uncomfortable) with the notion that the book was assuming a lot of things about my background that weren't true.

      Granted, you didn't like the book. Stipulated: It was not suitable for someone like you. That's not that same as it not being suitable for anyone.

      Yes, if I were writing it again knowing what I know today I would certainly write a different, and arguably a better, book. There are things that make me cringe when I read it again today (things that are well-summed-up by the notation Damian Conway put inside the front cover of my personal copy when I was collecting signatures like a lovestruck teenager at an O'Reilly book signing: "Oh, how I wish I'd written this book." Ouch.)

      But experienced programmers like the me of today (and presumably, you) aren't interested in writing a book for that particular audience. Explaining all that basic stuff (what is a subroutine? how do regexes work?) in simple terms that assume _zero_ programming background is a lot of work. That's why those beginners get really crappy books written for them that teach them bad habits and leave them floundering.

      I set out to write a better book for that audience because I related to them, because I _was_ one of those folks, and wanted to help them along the first few steps of the path. That's all the Ugly Monkey tried to do, and I think it did an okay job of it.

Back to Reviews

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: bookreview [id://182202]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (10)
As of 2014-12-17 21:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (34 votes), past polls