• List Price: CDN$ 47.99
  • You Save: CDN$ 6.85 (14%)
Only 1 left in stock (more on the way).
Ships from and sold by Amazon.ca. Gift-wrap available.
Mastering Perl has been added to your Cart
+ CDN$ 6.49 shipping
Used: Good | Details
Condition: Used: Good
Comment: **SHIPPED FROM UK** We believe you will be completely satisfied with our quick and reliable service. All orders are dispatched as swiftly as possible! Buy with confidence!
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Mastering Perl Paperback – Jul 26 2007

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
"Please retry"
CDN$ 41.14
CDN$ 34.64 CDN$ 0.99

There is a newer edition of this item:

Mastering Perl
CDN$ 57.65
In Stock.

Save an Additional 10% on Textbooks When you Join Amazon Student

Special Offers and Product Promotions

  • Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your e-mail address or mobile phone number.

Product Details

  • Paperback: 346 pages
  • Publisher: O'Reilly Media; 1 edition (July 26 2007)
  • Language: English
  • ISBN-10: 0596527241
  • ISBN-13: 978-0596527242
  • Product Dimensions: 17.9 x 2.3 x 23.4 cm
  • Shipping Weight: 558 g
  • Average Customer Review: Be the first to review this item
  • Amazon Bestsellers Rank: #913,125 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description

Book Description

Creating professional programs with Perl

About the Author

brian d foy is a prolific Perl trainer and writer, and runs The Perl Review to help people use and understand Perl through educational, consulting, code review, and more. He's a frequent speaker at Perl conferences. He's the co-author of Learning Perl and Intermediate Perl and the author of Mastering Perl. He was been an instructor and author for Stonehenge Consulting Services from 1998 to 2009, a Perl user since he was a physics graduate student, and a die-hard Mac user since he first owned a computer. He founded the first Perl user group, the New York Perl Mongers, as well as the Perl advocacy nonprofit Perl Mongers, Inc., which helped form more than 200 Perl user groups across the globe. He maintains the perlfaq portions of the core Perl documentation, several modules on CPAN, and some stand-alone scripts.

Inside This Book

(Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Customer Reviews

There are no customer reviews yet on Amazon.ca
5 star
4 star
3 star
2 star
1 star

Most Helpful Customer Reviews on Amazon.com (beta)

Amazon.com: HASH(0x9b3a0054) out of 5 stars 14 reviews
47 of 49 people found the following review helpful
HASH(0x9b6f9be8) out of 5 stars it's a very good book July 30 2007
By Ricardo Signes - Published on Amazon.com
Format: 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.
23 of 23 people found the following review helpful
HASH(0x9c3e3b1c) out of 5 stars Essential follow-up reading to The Llama and The Alpaca Aug. 27 2007
By Thing with a hook - Published on Amazon.com
Format: 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
HASH(0x9b92c288) out of 5 stars A worthy addition to the O'Reilly Perl series Aug. 18 2007
By Thomas Stanley - Published on Amazon.com
Format: 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.
6 of 6 people found the following review helpful
HASH(0x9bc5ecfc) out of 5 stars Mastering Perl: at least a three (3) step process Oct. 26 2007
By Amazon Customer - Published on Amazon.com
Format: 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".
4 of 5 people found the following review helpful
HASH(0x9bc5ef84) out of 5 stars Good, but not too essential for the experienced Jan. 31 2008
By Amir Aharoni - Published on Amazon.com
Format: 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.