on January 10, 2002
If you're like me, and you're shopping for a book, you immediately start reading the negative reviews and work upwards. So I started reading the reviews and read through them all, bought the book despite the many negative, and frankly, snippish comments made by many reviewers and decided that I need to respond.
Many say that the examples are convoluted, or that he focuses on obscure language references. One says the book starts quickly with a discussion of the splice function. The first mention of splice is on page 355, which I certainly don't define as 'quickly'....
Others say that there are no examples, or they are not explained clearly, but there's a short sample program right on page 18, and then 4 pages are devoted to analyzing the program and how it works. Further review through the book shows many small examples, especially in the sections that outline the core functions of Perl, and the core modules of Perl.
Others come here and criticize Perl the language, and use this as a platform for their own advocacy of other languages. This is just silly. If you're interested in Perl, or you've been using Perl and you want to know more, buy this book. In the universe of computer programming, every language choice you make is controversial, and subject to debate, and just because some reviewers do not like Perl the language, it does not mitigate the quality of this book.
That all being said, and debunking the frankly lousy reviews, I'll caution that this is NOT for beginning programmers, or people with limited technical knowledge. O'Reilly knows this, and anyone who has read this book should know this too. There is a book called 'Beginning Perl', also from O'Reilly, and written by one of the other top minds in Perl. It is easy to follow, provides many concrete examples and is where a beginning programer should begin. If you have a technical background, you will probably be able to start with this book, though Learning Perl is still worth reading.
What this book provides is not only an exhaustive guide to the language of Perl, and it's abilities, but also insight into it's design, the decisions of the creator of the language (Larry Wall, the main author of the book created Perl), and the major philosophy behind Perl.
This is a valuable reference and worth having.
This is the book that I turn to when I have Perl questions.
And this book is worth every penny I spent to get it.
on September 29, 2000
I grew up teething on the trusty C=64, then went on to Q-Basic,Fortran-77 (I'm a mechanical engineer by schooling), and eventuallydabbled quite a bit with ANSI C. Except for a quarter of Fortran incollege, I've always been self-taught for computers and programming.I thought that this book would be the place to start my 'career' inPerl. Since it is the 'hot new thing' (although not that new) and Iam interested in Linux and the Apache web server, learning Perl seemedto be the natural extension. And on almost every FAQ, web site, etcetera about Perl, all speak of 'THE CAMEL' as being the bible.
BOYWAS I WRONG! I am not NEARLY smart enough to learn Perl straightfrom the Camel's mouth. But that doesn't mean that this is a terriblebook by any means, not at all. But I quickly jumped back on line hereat Amazon and picked up 'the Llama', aka Learning Perl, 2d Edition.Here's my path to success, being that I wasn't smart enough to learnfrom this book by itself! hahaha...
(1) Read 'Learning Perl'straight through at a leisurely pace. Just get a feel for thelanguage and syntax. (2) Download and install Perl... (3) Read'Learning Perl' a second time, this time not continuing until yousuccessfully complete the exercises at the end of each chapter. (4)Read 'Programming Perl', and when you get to a part that you havetrouble with, refer back to the lessons and examples in theLlama.
This worked quite well for me, and using the Llama before ANDin conjunction with the Camel seemed to enhance the meaning for me ofboth. My newest endeavor is to work through 'CGI Programming withPerl', another O'Reilly animal book ('the Mouse'? ).
Overall, thisis what I would term a 'readable reference'. While it doesn't havethe tutorial structure of the Llama or other learner's books, it isn'tquite as sticky as reading a pure reference guide. It's a wellthought out book for those with a half-way solid grasp of Perl and areready to start tackling some intermediate to higher level programminggoals. END
on February 3, 2000
The book itself, used as a Reference and for mastering Perl, is a five star book. But there are a quite a few disadvantages:
1. The book is not intended to the ones who have no programming experience at all. The read should be at least an intermediate programmer, because the basic programming concepts of the language (Variables, Subs and etc..) are badly explained.
2. Because of Perl's C Like Syntax, it is recommended that the reader will know C, Awk, or Grep and Some experience in the Unix Environment.
3. The Book itself is badly organized, certain complicated things are shown in examples and explanations, and those things are taught many pages afterwards. For Example: An Example of a perl program is shown on page 10, and that example contains subs and pattern matching, which are taught 100 Pages later!
These are the 3 Main Disadvantages. For Conclusion, if you're new to programming, or want to learn Perl easliy, buy "Learning Perl", but if you're a somewhat experienced programmer, and want to master Perl, this book is the best one you'll find for that purpose.
on February 4, 2000
This is an excellent companion to the Learing Perl book (also by O'Reilly). If you are new to Perl like I was not too long ago, then start with the Learning Perl book first before you touch this one.
This book is intended to serve as a reference as it tackles the more complicated aspects of Perl. If you start learning Perl with this book, then you will find it a very difficult language to graps. However, I do not want to take anything away from this book. This book is fantastic for those who want to dive into Perl a bit more and have passed the beginners level. I purchased both the books and once I had finished reading the Learning Perl book, I started turning to this book to get a better understanding of things, especially regular expressions.
on May 9, 2001
The book is definetely written for those who at least have some (or maybe a little more than just "some") programming background, and willing to learn Perl from the author of the language.
I read the first edition of the book, which was about 200 pages, or something in that range, which filled my mind with nothing but questions. Current edition, however, could answer to all of those questions (well, almost). Of course, to make it answer them I had to re-read the book four times. But none of the books I currently own (and I own quite a few) could've taken me to the innards of the language so deep no matter how many times I had read them. So the book is of value.
The Camel book, especially, does a great job on Regular Expressions and pattern matching. If you want to learn RegEx of perl in very details, you definitely need listen to the author of Perl. "Mastering Regular Expressions" by Jeffrey Friedl is also a good choise, but doesn't include the latest updates.
Formats aren't covered very well though. So you might consider "The Lama book" for that ("Learning Perl"). Still, none of the books can tell you about the innards of the Perl in so much detail overall than "Programming Perl".
OOP is also toched upon in the book. Since purpose of the author is not to preach you OO lingo (but plain Perl), you'll treat that part just as an intorduction to OOP and consider "Object Oriented perl" by Damian Convey as the next text book.
I found chpater 14, "Tied variables" very helpfull though. It might remind you of DBM/Berkley DB, through the syntax
tie my %db, 'AnyDBM_File', 'my_file', O_CREAT|O_RDWR, 0664;
but unfortunately it's not about DBM at all. It is about how the "tie" function works, and teaches you how to create your own classes for implementing with "tie". After that chapter, I even had to update some of my classes and saved lots of time for their updates.
"Compiling", chapter 18 ,is a must read chapter for those who "live & breath" with Perl (like me, may be ?).
I don't want you to buy the book unless you have a good understanding of Programming or/and have knowledge of some programming languages. Otherwise, it won't help at all.
If your purpose is just to get started with Web applications, go for "CGI progamming 101" by Jacqueline Hamilton. It is a good start. But if you want to go even deeper, "Learning Perl" and "Perl Coookbook" is the next choise. Keep the "The Camel" book as the next (but definitely, not the last).
on July 16, 2001
I regard this book as the Perl equivalent of Stroustrup's The C++ Programming Language. Simply put, it is the bible for the language: long, thorough, authoratative, and indulging in a fair amount of proselytizing. (The preaching becomes almost amusing when it tries to portray Perl's implementation of OOP as anything but ugly.) If nothing else, the authors' enthusiasm for the language shines through. Along with a somewhat witty writing style, it makes for good reading.
I have to disagree with those warning Perl newbies away from this book. I must admit that I did read Learning Perl first, as a result of all these cautionary tales. However, I felt that I learning nothing useful from the Llama, and I didn't even write my first Perl program until I began the Camel. Reading Programming Perl was very satisfying in that it portrayed the language in a no-nonsense manner that allowed me at last to see all that Learning Perl tried so hard to hide. Certainly, I don't recommend Programming Perl to those who are programming for the first time. However, experienced C programmers and computer scientists will probably pick up Perl pretty readily from this book. If nothing else, at least try Programming Perl first. You'll certainly need it eventually, since Learning Perl is not sufficient for anything but the most surface understanding of how to use the language. (The authors at least address the reader as somebody who knows nothing about Perl.)
The bottom line: if you're a programmer, you should have this book. Perl is just too useful a language not to know.
on April 7, 2012
First of all, I have tried to avoid Perl for a long time. I always thought the syntax was horrendous and could not imagine wanting to use the language. But then, my opinion didn't matter anymore. I had to learn Perl and use it in a production environment. Oh boy. A friend recommended the Programming Perl book by Christiansen, foy & Wall. Luckily the newest version came out, 4th edition.
To make a long story short, the book is excellent. Going from overview to the gory details (actual section name) with clear examples. The book serves two main goals in my opinion: 1- Introduce the Perl language and eco system, 2- act as a quick reference.
If you are starting off with Perl, or thrown into it like me, you cannot go wrong with this book. It will save you a lot of time searching around the web. Buy this book.
on May 30, 2000
The official reference for the Perl language did not improve in its second generation. The original "purple Camel" is, in my opinion, a true classic where books about programming and programming languages are concerned--I rank it right there with The C Programming Language, Anatomy of Lisp, Algorithms + Data Structures = Programs, and so forth. It was a classic because it was filled with lucid expressions of the thoughts of Perl's quintessentially pragmatic creator, Larry Wall. It was a classic because it provided a literate and thoroughly reasoned counterpoint to arguments in favor of more formally based languages and programming styles.
But ... somewhere in the extensive revisions, additions, extensions, and deletions that transformed the first Camel book into this, the second Camel book, the magic went away. And some very suspicious stuff went in. The book lost its digressive, essayic feel and became more of a perfunctory reference work. Additionally, some of the completely new material turned out to be just a little ... strange. The discussion of object-oriented programming based around the term "thingy" just doesn't do it for me. (Ignore all that and read Damian Conway's book instead.)
Preferences of style and tone aside, an unavoidable flaw of an infrequently-updated book like this one is that it inevitably refers to an obsolescent version of Perl. If you want current Perl documentation, you need to read the man(ual) pages that came with that version of Perl. What's in this book is generally but not completely accurate for newer versions of Perl. And because it's intended to be a more or less complete reference covering even small details, it can't help but be dead wrong on some points as the language continues to evolve. Bear in mind, also, that much of the material in this book comes STRAIGHT from the man pages. (Just not the up-to-date versions.)
A third edition is in the works, which will no doubt be at least a temporary improvement. If the newer version restores the insight and charm of the original, it will certainly deserve a place on your programming bookshelf. But as a reference work intended to cover a constantly-evolving language, Programming Perl will always suffer by being out of date.
If you are the type who dislikes reading electronic documentation, by all means, buy a copy of this book. But you'll find that you have to use the online documentation anyway.
on May 30, 2002
I bought this book because it was recommended to me for learning Perl. I have never used Perl before, and started reading from the beginning. It is well written and quite readable, but I started to get lost after 60 or so pages. (Note that I do have plenty of experience in other languages, but that was not really helpful to me in deciphering the terminology in this book.) It was getting into complicated stuff without really showing how to write simple test programs, which is what I really needed. In fact, it gives rather few code examples, and those that are given are usually no more than 3 lines, so the reader doesn't get a good idea of how to put together a whole program.
However, as I said, it is quite readable, and very informative. It may be better suited to someone who already knows how to program in Perl and wants to learn more. In summary, my recommendation:
Buy this book if you:
-are fanatical about Perl and need to know everything about it
-are very smart/experienced in programming, particularly with prior experience in Perl
-know how to code in Perl already but want a handy reference to the minute details in it
Do not buy this book if you:
-are not very good/experienced at programming
-only need to know the basics
-will only be using Perl for a short time
on November 11, 2000
Why step 3? Step 1, Learning Perl; Step 2, CGI programming with Perl; and this is three. A perfect book for explaining the how and why of what you've learned along the way, yet too deep for the very beginner. I read the chapter on regular expressions first, and now my regexps are much cleaner and more powerful. Then I went to chapter one and read the rest of the book to the end. You can program just fine without this book, but you'll be working too hard. I've cut my programs down in size, while making them much more readable (and faster too!). So do yourself a favor and buy this mug. You'll be glad you did. It's such a wealth of knowledge, and it rubs off on you.