Most Helpful Customer Reviews
17 of 17 people found the following review helpful:
4.0 out of 5 stars
Excellent Introduction to Perl for Experienced Programmers, April 24, 2003
I learned Perl 4 from the first edition of this book years ago. I recently read the third edition to get up to speed with Perl 5 and found this book covers nearly every aspect of Perl I've used over the years. Perl is a complex language, and any introductory book on Perl needs to restrict itself to a subset of the language to prevent the reader from becoming overwhelmed. The authors did an excellent job of presenting a subset that is large enough to cover most everyday Perl tasks, yet small enough to remain accessible to the Perl novice. The exercises at the end of each chapter solidify most of the core concepts and syntax of each chapter. There were some shortcomings to the book, however. The book is oriented heavily towards Unix systems, and programmers working on Windows systems will have a hard time getting started and completing some of the exercises. The authors should have provided instructions for downloading ActiveState Perl, a free professional Windows port of Perl, and provided more assistance on the Unix-oriented exercises. Additionally, some basic language features were not covered, such as the peculiarities of do blocks and using chr and ord to convert between characters and their numeric codes. Most importantly, the book does not cover two-dimensional arrays. They are mentioned only in two paragraphs in Appendix B, which refer the reader to four different perldoc sections. This topic is complicated and important enough to warrant its own chapter. In summary, this book is an excellent introduction to Perl for programmers who are experienced in other languages already. It's not so good for beginning programmers because basic programming concepts are not explained. The major shortcoming is that readers, especially those using Windows, will be frustrated at not being able to easily do what they want to do and will too often need to wade through the documentation.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
14 of 14 people found the following review helpful:
5.0 out of 5 stars
Get the Llama, November 8, 2001
If you have previous procedural programming experience (C for example) and/or have a STRONG desire to learn Perl (but don't have Perl experience), this book is for you. If you do read the foreword, keep in mind that it's soley for your amusement. Beyond the foreword, the book takes a more serious approach to learning the basics of Perl but is still a far cry from the books that give you the feeling your mouth is full of sawdust. After reading through this book, expect to be comfortable with variables & literals (incl. strings) arrays & hashes (associative arrays) control structures (if/else, for, while, etc.) & functions(procedures) simple I/O basic regular expressions file handling and more... At the end you get a nice introductory treatment of CGI programming using Perl...an incentive to buy the Camel to learn more advanced Perl incantations. =) The book is very professionally written-I didn't find many of those bugs/typos that so many books are infested with. Thanks Randal & Editors!
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
20 of 22 people found the following review helpful:
3.0 out of 5 stars
I have some complaints, September 12, 2004
The back cover of the 3rd edition says (roughly), "Ask a perl expert today what book they used when they were learning perl, and they'll tell you it was the llama." Well, yeah; probably when they were learning perl it was literally the only introductory book on the subject. So that's not really an endorsement of quality.
The llama is actually a decent companion on your perl voyage. Particularly if you already think of yourself as a programmer are at least acquainted with the unix way of thinking, it will show you much of what you want to know about perl. And if you're new to perl you'll want to have this book (there still aren't any better options for the newcomer). However,
1. The nonstop Flintstones references are hard to stomach. (Yes, that's a trivial complaint. But it drives me nuts.)
2. There aren't enough exercises. This is a nontrivial complaint. For example, the chapter on control structures has only ONE exercise (!), which you can solve by ignoring most of the material in the section. The chapter which introduces SPLIT and JOIN has no exercises that use them (there aren't any exercises anywhere in the book that use split and join, as far as I can tell.) It's a persistent problem; since most folks learn by doing, they'll be required to exercise some imagination in creating and testing their own exercises. An introductory text should be much stronger in this area.
3. The 3rd edition rewrite moved some fundamental (and easy) stuff into a late-in-the-book "Advanced Perl Techniques" chapter. A few examples off the top of my head are the transliteration operator, slices, and sorting subroutines, which are meat and potatoes perl. They were better integrated into the body of the text in the 2nd edition.
4. The authors actually warn you away from trying things out in some cases! I'm thinking, for instance, of the offhand "CSV files are too hard, don't try splitting them" and "Don't try to work with HTML, it's too hard" comments. That is not in the spirit of perl at all. A few exercises that show what the difficulties are and give a few tricks for handling them would be better. And you'll be in a much better position to used and appreciate a prewritten module if you understand the difficulties it's supposed to be taking care of.
The biggest improvement in the 3rd edition is the reorganization of the regular expression material (into three chapters). They still need more exercises, but the presentation is good. On the whole, though, I liked the organization in the old editions better and probably recommend using one of them if you can find it.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|