Vous voulez voir cette page en français ? Cliquez ici.

Sign in to turn on 1-Click ordering.
Amazon Prime Free Trial required. Sign up when you check out. Learn More
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Mastering Perl [Paperback]

brian d foy

List Price: CDN$ 47.50
Price: CDN$ 39.71 & FREE Shipping. Details
You Save: CDN$ 7.79 (16%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 1 left in stock (more on the way).
Ships from and sold by Amazon.ca. Gift-wrap available.
Want it delivered Wednesday, September 17? Choose One-Day Shipping at checkout.
Save Up to 90% on Textbooks
Hit the books in Amazon.ca's Textbook Store and save up to 90% on used textbooks and 35% on new textbooks. Learn more.
There is a newer edition of this item:
Mastering Perl Mastering Perl
CDN$ 45.12
In Stock.
Join Amazon Student in Canada

Book Description

July 26 2007 0596527241 978-0596527242 1

This is the third in O'Reilly's series of landmark Perl tutorials, which started withLearning Perl, the bestselling introduction that taught you the basics of Perl syntax, andIntermediate Perl, which taught you how to create re-usable Perl software.Mastering Perlpulls everything together to show you how to bend Perl to your will. It convey's Perl's special models and programming idioms.

This book isn't a collection of clever tricks, but a way of thinking about Perl programming so you can integrate the real-life problems of debugging, maintenance, configuration, and other tasks you encounter as a working programmer.

The book explains how to:

  • Use advanced regular expressions, including global matches, lookarounds, readable regexes, and regex debugging
  • Avoid common programing problems with secure programming techniques
  • Profile and benchmark Perl to find out where to focus your improvements
  • Wrangle Perl code to make it more presentable and readable
  • See how Perl keeps track of package variables and how you can use that for some powerful tricks
  • Define subroutines on the fly and turn the tables on normal procedural programming.
  • Modify and jury rig modules to fix code without editing the original source
  • Let your users configure your programs without touching the code
  • Learn how you can detect errors Perl doesn't report, and how to tell users about them
  • Let your Perl program talk back to you by using Log4perl
  • Store data for later use in another program, a later run of the same program, or to send them over a network
  • Write programs as modules to get the benefit of Perl's distribution and testing tools
Appendices include "brian's Guide to Solving Any Perl Problem" to improve your troubleshooting skills, as well as suggested reading to continue your Perl education.Mastering Perlstarts you on your path to becoming the person with the answers, and, failing that, the person who knows how to find the answers or discover the problem.

Special Offers and Product Promotions

  • Join Amazon Student in Canada

Customers Who Bought This Item Also Bought

Product Details

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:

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

What Other Items Do Customers Buy After Viewing This Item?

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: 4.4 out of 5 stars  14 reviews
47 of 49 people found the following review helpful
4.0 out of 5 stars it's a very good book July 30 2007
By Ricardo Signes - Published on Amazon.com
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
5.0 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
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 Aug. 18 2007
By Thomas Stanley - Published on Amazon.com
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 Oct. 26 2007
By Amazon Customer - Published on Amazon.com
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. Oct. 17 2007
By Midwest Book Review - Published on Amazon.com
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
California Bookwatch

Look for similar items by category