Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Advanced Perl Programming, 2nd edition

by bart (Canon)
on Sep 01, 2005 at 08:03 UTC ( #488320=perlquestion: print w/replies, xml ) Need Help??
bart has asked for the wisdom of the Perl Monks concerning the following question:

I have had the book "Advanced Perl Programming" by Sriram Srinivasan (1st edition), and it has been my favourite Perl book for a long time. And now, the second edition is out, by a different author, and, judging by the table of contents, a totally different content. It looks more like a different book, than a new edition, to me.

Can anybody who has had at least some good look at both editions, tell me if it's worth getting the second edition, if you have the first edition?

Replies are listed 'Best First'.
Re: Advanced Perl Programming, 2nd edition
by xdg (Monsignor) on Sep 01, 2005 at 11:59 UTC

    I don't have the first edition, but after reading the second edition, I'm not sure how highly I'd recommend it. Much of the book tends to wander into the territory of showcasing how to use various CPAN modules. If you've never heard of them, then it's kind of useful or interesting. The practical code examples are pretty good. But is it really "advanced Perl"? I'm not sure. Maybe it's "advanced uses of Perl".

    That said, the introductory chapter with preparatory concepts is one of the best treatments of the material in a brief way that I've seen (globs, closures, attributes, Hook::Lexwrap, B, operator overloading, phases). If many of these concepts had been dealt with more fully in their own chapters, I think it would have handily qualified as "Advanced Perl". As it was, it just skimmed the surface.

    The chapter on Unicode was excellent and maybe worth the price of the book if you have to deal with it. Likewise excellent was the explanation of Parse::RecDescent, which had always intimidated me. The templating chapter, the database chapter and the testing chapter were pretty redundant to other stuff I've seen, read, or already knew. (Does every Perl book lately have to reintroduce Test::More?)

    The natural language chapter was a blizzard of modules -- good if you didn't know about them. The POE chapter and Inline::C (and friends) chapters were reasonably good and thought provoking, though again, they just skimmed the surface of topics that really needed deeper coverage.

    So, I liked it, but I've got mixed feelings recommending it. Check it out at a bookstore if you can before buying it.


    Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

      oops, I placed my comment on the wrong place, sorry!
Re: Advanced Perl Programming, 2nd edition
by philcrow (Priest) on Sep 01, 2005 at 13:45 UTC
    Reading the original edition of the book several years ago was a real eye opener for me. I learned how to modify the symbol table and use all those things Damian has lately been telling us not to.

    The core of that information is still in the second edition, but there's also a lot of CPAN touring (as previous posters have noted). I have the second edition on my desk and am about half way through.

    If you are interested in things like how to use POE or which templating system is right for your way of thinking, this might be worth buying. If you are expecting to see even cooler magic, skip it. The magic hasn't really changed and the new book focuses on it less.

    I'm not sorry I bought the new book. In the face of Damian's admonishment to behave myself and act like a professional, it is a nice counter point of playground fun (at least the first chapter is). It's just that fun which I like so much about Perl, even when I'm not using it. Further, it makes a lot of really cool CPAN modules possible. <shameless_self_promotion>I've used it to make Java::Swing, Perl bindings for swing. Very Perlish and I think quite cool</shameless_self_promotion> After the magic, there are things I need to learn, like POE and unicode.

    You have to make your own choice. Simon is a good writer, who is not afraid of offending Damian's advice. There is cool stuff in there, and the content is quite different in focus, if not in character.


Re: Advanced Perl Programming, 2nd edition
by sh1tn (Priest) on Sep 01, 2005 at 08:26 UTC
    Yes, it's worth getting the 2nd edition. It covers not only advanced theory topics,
    but also the implementation itself which was something missing in the 1st edition.

      I started to learn Perl very recently, and the only free Perl book I found was Beginning Perl by Simon Cozen.

      It was a wrox book, and from what I heard (slashdot comments) wrox book are not usually good, plus Simon's picture on the cover gave me the wrong impression. (Too young)

      Anyway, I was between should I risk my time reading this book, or should I risk my money and buy a famous one (mostly it would have been Learning Perl, or Programming Perl).

      Anyway I decided to investigate (search) after Simon, and to my surprise he turned out to be an impressive guy.

      He write frequently about Perl he wrote a second Perl book (the one you are talking about), he is responsible for maypole, which is arguably a better concept than catalyst.
      why? because I think I agree with Tony Bowden that frameworks are hard. I add that open source software being free, reduce some abstractions need, because there is no single vendor to which you are afraid to be tied, don't abstract to be politically correct, I don't mind framework that are strongly couple to specific implementation and technologies like OpenACS which require aolserver and Postgresql.

      And on another point I heard Sebastian that the main guy behind catalyst is a fan of multiple inherentance, and I don't like interitance in general, single or multiple.

      Anyway, back to the point, Simon Cozen is ok, you can trust he has done a good job, and don't take my word look at his other work, writings.
      You may also want to read this interview with him.

      And finally, good luck studying

        Honestly, I don't think you know what you're talking about.

        If you think that inheritance is bad, and thus prefer Maypole over Catalyst, you show that you don't understand inheritance, as both frameworks have an incestual relationship with many Perl modules.

        Simon was responsible for the initial development of Maypole but doesn't take an active part in it anymore.

        I really don't get what you're aiming at with your idea of being politically correct by being more abstract, but then, maybe this is a bit outside of the scope of a question about a Perl book.

        Inheritance is an essential part of any Object Oriented Programming language. Some languages implement it better than others, some programmers implement it better than others, but I don't know of a better way (although I have been out of university for a couple of years now).

        How can you feel when you're made of steel? I am made of steel. I am the Robot Tourist.
        Robot Tourist, by Ten Benson

Re: Advanced Perl Programming, 2nd edition
by rjbs (Pilgrim) on Sep 01, 2005 at 12:08 UTC
    I think APP2 is an OK book, more on the lines of "how to use existing CPAN modules" than "how to write advanced pure Perl." I wrote a longer review on the wiki.
      Nice review. ++ for that. From what you write I think I would like the first edition better. (Yeah, I don't have read it. Stone me if you wish ;-)

      So, as they are totally diff. books, will the publisher keep selling the first edition?

      holli, /regexed monk/

        I know that this is an old node, but I just ran into the differences between 1st and 2nd editions. Everyone else is spot on. These are completely different books by different authors. I have no idea why O'Reilly would use the same name and animal for these.

        I was so startled, in fact, that this is why I was searching the site for information no these books and ran across this node.

        At any rate, the 1st ed book is still available at Amazon and it doesn't say it's out of print, so in answer to your question, you can currently get both editions. This probably just leads to greater confusion, but there it is.

        I used to drive a Heisenbergmobile, but every time I looked at the speedometer, I got lost.
Re: Advanced Perl Programming, 2nd edition
by talexb (Canon) on Sep 04, 2005 at 03:16 UTC
      I have had the book "Advanced Perl Programming" by Sriram Srinivasan (1st edition), and it has been my favourite Perl book for a long time.

    Thanks for the post .. I read the book, but long enough ago that I decided to re-read it. Nothing obvious jumps out at me yet (although the paralells between C and Perl references was really well done), but by re-reading I hope to solidify anything I've learned recently and lay the groundwork for future learning.

    And when I can figure out where I can buy O'Reilly books in Toronto, I'll look into getting the Second Edition.

    Alex / talexb / Toronto

    "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://488320]
Approved by holli
Front-paged by Arunbear
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (1)
As of 2018-07-18 16:40 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (393 votes). Check out past polls.