Mastering Perl and over one million other books are available for Amazon Kindle . Learn more


or
Sign in to turn on 1-Click ordering.
or
Amazon Prime free trial required. Sign up when you check out. Learn more
More Buying Choices
Have one to sell? Sell yours here
or
Get a £5.10 Amazon.co.uk Gift Card
Mastering Perl
 
 
Start reading Mastering Perl on your Kindle in under a minute.

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

Mastering Perl [Paperback]

brian d foy
4.5 out of 5 stars  See all reviews (2 customer reviews)
RRP: £30.99
Price: £21.29 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £9.70 (31%)
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
In stock.
Dispatched from and sold by Amazon.co.uk. Gift-wrap available.
Only 3 left in stock--order soon (more on the way).
Want guaranteed delivery by Saturday, June 2? Choose Express delivery at checkout. See Details

Formats

Amazon Price New from Used from
Kindle Edition £15.60  
Paperback £21.29  
Trade In this Item for up to £5.10
Get an extra £5 when you trade in books worth £10 or more until June 30, 2012. Trade in Mastering Perl for an Amazon.co.uk gift card of up to £5.10, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Find more products eligible for trade-in.

Frequently Bought Together

Mastering Perl + Intermediate Perl + Learning Perl
Price For All Three: £65.29

Show availability and delivery details

Buy the selected items together
  • In stock.
    Dispatched from and sold by Amazon.co.uk.
    This item Delivered FREE in the UK with Super Saver Delivery. See details and conditions

  • Intermediate Perl £23.86

    In stock.
    Dispatched from and sold by Amazon.co.uk.
    This item Delivered FREE in the UK with Super Saver Delivery. See details and conditions

  • Learning Perl £20.14

    In stock.
    Dispatched from and sold by Amazon.co.uk.
    This item Delivered FREE in the UK with Super Saver Delivery. See details and conditions


Customers Who Bought This Item Also Bought


Product details

  • Paperback: 346 pages
  • Publisher: O'Reilly Media; 1 edition (23 July 2007)
  • Language English
  • ISBN-10: 0596527241
  • ISBN-13: 978-0596527242
  • Product Dimensions: 23.4 x 17.9 x 2.3 cm
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Bestsellers Rank: 71,338 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Brian D. Foy
Discover books, learn about writers, and more.

Visit Amazon's Brian D. Foy Page

Product Description

Book Description

Creating professional programs with Perl

Product Description

This is the third in O'Reilly's series of landmark Perl tutorials, which started with Learning Perl, the bestselling introduction that taught you the basics of Perl syntax, and Intermediate Perl, which taught you how to create re-usable Perl software. Mastering Perl pulls 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 Perl starts 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.

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

Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product)
 
(4)
(2)

Your tags: Add your first tag
 

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

3 star
0
2 star
0
1 star
0
Most Helpful Customer Reviews
4 of 4 people found the following review helpful
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.
Comment | 
Was this review helpful to you?
1 of 1 people found the following review helpful
Format:Paperback
In recent years, O'Reilly pace regarding the publishing of Perl-related books has slowed down quite a lot. This is likely not because of O'Reilly fault, but it's probably due to the fact that Perl is a mature language for which there is a lot of literature which is still up-to-date. For instance, the 3rd edition of Programming Perl was published in 2001 and is still a reliable reference for the current version of the language - even though that is going to change a bit within a few days, with the release of perl 5.10.

Anyway, it seems there's still to write about Perl as a language as opposed to projects or software powered by Perl, and that it what the book is about: the language and how to use it at best. It's a collection of tips, best practices and suggestions, and can fit into the same category as two other O'Reilly titles: Perl Hacks and Perl Best Practices.

Part of this book is devoted to the usual (and important) areas: writing secure and high-performance programs, debugging, error handling, logging and documentation writing. For all of this, several options are usually described by the author, and they range from rolling your own solution using the core perl compiler to using CPAN modules to automate part of, if not all, the work. For example, the section regarding the profiling of Perl programs explains first what profiling is about and illustrates a general approach at the task, and then how to profile database code with DBI::Profile; it then goes to the full-featured solution involving Devel::DProf and closes with suggestions on how to write your own profiler module.

This book can help you organize your applications better. For instance, do you embed your configuration variables at the top of your programs or in an external Perl module? Think of a different approach by reading chapter 11, and start using configuration files (which can overridden with command-line options) as the whole Unix world does - there are plenty of formats to choose from. Using Windows? Use the Windows Registry. Using MaxOS X? Use the plist format. You can do all of this with ready to use modules, and this book explains you how to get started with this.

The most interesting parts of the book lie in it's "niche" chapters, which explains aspects of Perl which are not needed by most programmers, but of which every programmer would surely benefit. Have you always thought that working with bits was something for mad assembly or C++ coders? Wrong! Chapter 16 will introduce you to binary numbers, bit operators and vectors. You might also want to take a look at chapter 6 which teaches you how to make your code clear and how to de-obfuscate other people's code (all right, obfuscation is a virtue, but there should be limits ;-)).

All in all this book can be very useful to improve the way you use Perl (the language) and perl (the compiler), and is a worth reading, which then becomes a nice reference.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com:  10 reviews
44 of 46 people found the following review helpful
it's a very good book 30 July 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.
21 of 21 people found the following review helpful
Essential follow-up reading to The Llama and The Alpaca 27 Aug 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
A worthy addition to the O'Reilly Perl series 18 Aug 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.
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


Look for similar items by category


Look for similar items by subject


Feedback


Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges