46 of 48 people found the following review helpful
4.0 out of 5 stars it's a very good book
Mastering Perl is a toolbox full of very sharp tools. I can imagine myself presenting it to a junior co-worker, very somberly informing him, "It is time."
More likely, actually, I'd present him a few chapters ripped out of the book and rebound. It's not that there are chapters I object to, or that don't matter. It's that some of the chapters are about safety...
Published on July 30, 2007 by Ricardo Signes
0 of 1 people found the following review helpful
2.0 out of 5 stars Perl ? Mastering???
the book did NOT give enough information to even make me a beginning Perl programmer. There were no good examples of a ready to run program that was usuable.
Published 5 days ago by Clyde Chiever
Most Helpful First | Newest First
46 of 48 people found the following review helpful
4.0 out of 5 stars it's a very good book,
This review is from: Mastering Perl (Paperback)Mastering Perl is a toolbox full of very sharp tools. I can imagine myself presenting it to a junior co-worker, very somberly informing him, "It is time."
More likely, actually, I'd present him a few chapters ripped out of the book and rebound. It's not that there are chapters I object to, or that don't matter. It's that some of the chapters are about safety and responsibility, while others are about wielding deadly weapons. I want up-and-coming Perl programmers to know about taint mode, debugging, profiling, and good code formatting long before typeglobs, ties, or AutoSplit. I'd divide the chapters into "things you must learn to become a master of the language" and "things you had better know if you want to be considered a good professional."
The chapters are not particularly cumulative, and can be read out of order. If you're ready for the book in general -- which basically only means understanding the basics of packages, references, regex, objects, and closures -- you're ready for any chapter at any time. I read the chapters in order, and I was glad to switch between technical and procedural topics. It let my brain rest a little between bouts of dense code.
My main concern is the lack of warning given on a number of tools discussed. brian begins, in the first chapter, by saying that coverage does not mean endorsement, but I don't think that's quite strong enough in some cases. The first chapter discusses some regular expression techniques, and casually mentions using $&, with no mention of the long-standing performance bug this introduces. Maybe I'm being silly, but it seems like such an easy and worthwhile thing to mention -- especially since the section in which $& is discussed is actually about @-, which can be used to efficiently replace $&. (As a side note, while reading this chapter, on what was effectively the fourth page of the book's real material, I saw $#- casually used in some code. That is when I realized that this book was not going to screw around.)
Another chapter is devoted to tied variables, which are fantastically fun, but can also be a major source of headaches. Maybe brian's thinking is that any real master will be able to make his own judgement on the subject. Still, without an included warning about the danger of a few topics, I'll definitely have to red ink a few margin notes on the office copy.
My worries about sharp tools, though, are far outweight by the excellent explanations of the features covered by the book. brian's explanation of a few features of Perl really, really cleared a few things up for me. I feel fairly at home in Perl, but there are a number of features that I've always felt were never going to stick with me, and that I'd always need to refer to the docs on. Among these were the regex position bits (/g, /c, and \G), which I've used, but always with perldoc open; also, pack, which I've only ever used in its simplest form. After reading the explanations of both in Mastering Perl, I almost didn't notice that I had quietly internalized the concepts. One of my notes actually reads, "p219: pack: I get it now!"
I think this is because of the extremely straight-forward presentation of the material. It doesn't go to great lengths to create elaborate scenarios. It says, "Here is a feature. This is how it works. Here are a few examples. Now you understand." brian's paragraph on pack was far, far more useful as a learning tool than the four hundred lines of pack documentation in perldoc. What's even better, though, is that now I can look at that perldoc and understand everything it says quite easily.
This kind of excellent, straightfoward explanation of fairly complex topics is present throughout the book, and is the best reason to pick it up.
Finally, I had a few typographical quibbles with the book. There are a number of footnotes throughout the book, and that's fine, but rather than using numbers or sticking to a commonly-seen set of characters, the footnote markers are unusual. I think it progresses in each chapter: asterisk, dagger, double-dagger, funky || symbol, and possibly others. The asterisk looks lousy and the || is just weird, and not immediately obvious as a footnote marker. I don't understand the thinking. Much worse, though, the monospace at sign (@) used in printing the book is from another planet. It hardly looks like an at sign at all. Given the quantity of @'s seen in Perl code, this is extremely distracting, and should really be fixed before O'Reilly prints more Perl books.
So, I had a few concerns about journeymen programmers picking up dangerous tools, and I didn't like the at sign. These are pretty small concerns, in the end, when compared with the quality of the material. It's very clear, and covers most of the topics I'd expect in a book like this, and covers most of them quite thoroughly. I'd want this on the shelf at any office that might hire non-masters, and I'd want those employees to have their hearts set on one day understanding everything in Mastering Perl.
22 of 22 people found the following review helpful
5.0 out of 5 stars Essential follow-up reading to The Llama and The Alpaca,
This review is from: Mastering Perl (Paperback)If you've made it through Learning Perl and Intermediate Perl, you've probably been waiting with no small impatience for a book like this to round off the trilogy and your basic Perl education. If you're interested in Perl as a complete programming language, or want to be able to read and understand the rest of the Perl literature, then you need this.
Note that the thrust of the book is about providing the information you need to use Perl to build applications, so there's nothing about Perl internals, or embedding Perl or dropping down to C to speed things up. For that sort of thing, you might want to look at the various editions of Advanced Perl Programming.
Stylistically, Mastering Perl is a bit of a departure from the previous two books in the series. Gone is the tutorial feel, and there's no overarching pop culture theme to the examples. Instead, you're assumed to be competent and ready to develop your own code, and brian d foy's style treats the reader as an equal.
There are two types of material covered in the book. The first rounds off the rest of the Perl language not covered in the first two books. These are all things which are not exactly necessary for every day programming, but which anyone motivated sufficiently to learn enough Perl to be interested in this book will just want to know. Typeglobs, the symbol table and tied variables top this list. Additionally, there are excellent chapters on error handling and advanced regular expressions, the latter of which introduces the options and anchors used in lexing, and look-ahead and look-behind assertions.
The other material covers useful libraries for developing in Perl. Examples include chapters devoted to documentation with POD, serialization, logging, debugging, profiling, and benchmarking. These are all comprehensive and use fairly long examples with non-trivial code.
You could cobble together a minority of the material presented in this book from other sources (e.g. some of the stuff on ties or the symbol table), such as Effective Perl Programming, Perl Medic, Perl Debugged or Object Oriented Perl (and there's a helpful Appendix which recommends several such books as further reading), but having it presented here in one cohesive whole is a far superior learning experience, thanks to the author's clear explanations and copious examples. Additionally, there's stuff here that you just won't find in those other books (e.g. do you know what the PROPAGATE method does on an object?). I'd like to think I've read most of the important Perl books, but I still learnt a lot, and it filled in a lot of holes. It's bang up to date, too, which many of the other books you'd otherwise be relying on can't claim to be.
Overall, this fills a gaping void in the Perl literature and provides a suitable bridge between Intermediate Perl and the likes of Perl Cookbook and Perl Best Practices. It's an excellent, focussed book which provides almost everything you need to do real Perl programming.
9 of 9 people found the following review helpful
5.0 out of 5 stars A worthy addition to the O'Reilly Perl series,
This review is from: Mastering Perl (Paperback)I work with the language on a daily basis, and the information that I learned from this book has helped me to become an even better programmer. The chapter covering regular expressions was the most helpful, as it broke down all of the various assertions and explained them in a simple and easy to understand manner.
brian's writing is clear and easy to read, making this book an invaluable reference for me.
4 of 4 people found the following review helpful
4.0 out of 5 stars Mastering Perl: at least a three (3) step process,
This review is from: Mastering Perl (Paperback)The journey to mastering Perl requires at least three (3) steps :)
One optional route would be to read:
1) Learning Perl
2) Intermediate Perl... and finally
3) Mastering Perl
brian d foy mentions in his introduction and appendix A that the path to mastery involves learning from many people... and to learn from brian is an advantage. Appendix A is a list of Further Reading and by following up on many of these compounds the effect of the book. You get the bang for your buck.
Chapter 3 on Secure Programming Techniques is helpful because it places the topic front and center. This topic should find its way downstream into Learning Perl to encourage secure programming as early as possible.
I found immediate value in the chapters on benchmarking, profiling (especially DBI profiling) and logging. The chapters on Cleaning Up Perl (chapter 7: perltidy and de-obfuscation) and Configuring Perl (chapter 11: dealing with switches) are a great recap of material critical for "creating professional programs with Perl".
PS - My personal route to mastering Perl had a required stop at "Programming the Perl DBI".
2 of 2 people found the following review helpful
5.0 out of 5 stars An excellent survey and a top pick for any Perl reference collection.,
This review is from: Mastering Perl (Paperback)MASTERING PERL is third in O'Reilly's series of Perl tutorials and is a top pick for collections strong in computer programming in general and Perl in particular. This is more than a collection of shortcuts and 'tricks': it covers the basics of using advanced expressions, avoiding common programming problems, fixing code without editing the original source, and more, and offers Perl users the tools for getting the most out of the software - and troubleshooting when it doesn't work right. An excellent survey and a top pick for any Perl reference collection.
Diane C. Donovan
4 of 5 people found the following review helpful
4.0 out of 5 stars Good, but not too essential for the experienced,
This review is from: Mastering Perl (Paperback)This book is not essential, if you already have several years of experience with Perl, if you know who are Damian Conway, Randal Schwartz and Abigail, and if you know the meaning of weird words like CPAN, Perl Monks and "zero-width positive look-ahead assertion".
If you don't know what these things are, then with a little motivation you can find everything about them using Google without the need for this book. If this would be any other book about programming, i'd give it no more than 3 stars.
However, brian d foy's first-person writing style is very readable and enjoyable, which awards this book an extra star, and does make this book a good buy for people who learned the basics from Learning Perl or Programming Perl. Furthermore, as great and relevant as The Camel Book is, its last edition was published in 2000, and it is already a little dated, in terms of both the technology and the culture of Perl, so Mastering Perl is a pretty good way to get up-to-date.
To sum up - while this book is not as essential as Programming Perl, Perl Cookbook or Perl Best Practices, it is certainly up to the high standards set by those O'Reilly titles.
1 of 1 people found the following review helpful
5.0 out of 5 stars Perfect Companion Perl Reference,
This review is from: Mastering Perl (Paperback)'Mastering Perl' is another gem in the line of O'Reilly Perl books that hav continued to set the standard for over a decade now. From the original Perl references that simply discussed the language from the basics of variable declaration to the most complicated ways you can use Perl, O'Reilly has continued to add more and more and more. Many new revisions and editions to the original Perl books were made, 'Learning Perl' was released and now 'Mastering Perl'. Is this too many books, is this simply a cash cow from O'Reilly? Yes and NO. Obviously publishers are here to try and make money, but this isn't a book that was just released for the sake of releasing it. I feel that 'Mastering Perl' is a fine addition to this line of books and well worth picking up for all serious Perl programmers. I feel that any book which builds on your programming skills and you can get something new from is worth the time and effort to read and learn from. This book is a welcome edition and I still feel that the Perl line of books (O'Reilly's original bread and butter) is the best the company has and it's a solid effort. If you want to go beyond the basics and sponge out even more goodies from this great language, pick this 300+ page book up today, kick back and become the best Perl developer that you can!!
***** HIGHLY RECOMMENDED
5.0 out of 5 stars Well done,
This review is from: Mastering Perl (Paperback)This book lays into several of the loftier aspects of Perl that
I had only recently started to try to put to use.
5.0 out of 5 stars I Love Perl,
This review is from: Mastering Perl (Kindle Edition)I purchased the Digital version so that I can read the book, work out the examples and invent my own perl projects, using this book and the other Perl Books from O'Reilly. Mastering Perl is the 3rd book of the series for learning perl. Learning Perl, Intermediate Perl and Mastering Perl.
4.0 out of 5 stars Very good book about perl,
This review is from: Mastering Perl (Paperback)If you have practice some with perl, this book will help you to get more advanced perl features and tell you how to write good programs in perl. It is full of very useful tips.
If you want to make proffesional scripts in perl, this book is for you ! :)
Most Helpful First | Newest First
Mastering Perl by brian d foy (Paperback - July 23, 2007)