• List Price: CDN$ 51.86
  • You Save: CDN$ 11.74 (23%)
Temporarily out of stock.
Order now and we'll deliver when available. We'll e-mail you with an estimated delivery date as soon as we have more information. Your account will only be charged when we ship the item.
Ships from and sold by Amazon.ca. Gift-wrap available.
Perl Best Practices has been added to your Cart
+ CDN$ 6.49 shipping
Used: Like New | Details
Sold by JVG_Books LLC
Condition: Used: Like New
Comment: *Clean, Unmarked Copy.
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 all 2 images

Perl Best Practices Paperback – Jul 22 2005

See all 2 formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 40.12
CDN$ 32.22 CDN$ 14.00

Harry Potter Book Boutique
click to open popover

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Product Details

  • Paperback: 544 pages
  • Publisher: O'Reilly Media; 1 edition (July 22 2005)
  • Language: English
  • ISBN-10: 0596001738
  • ISBN-13: 978-0596001735
  • Product Dimensions: 17.8 x 2.5 x 23.3 cm
  • Shipping Weight: 1 Kg
  • Average Customer Review: Be the first to review this item
  • Amazon Bestsellers Rank: #309,248 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


"If you are looking for a book to teach you how to program Perl, this is definitely not what you need. Also, if you are cranking out quick Perl scripts to solve one-time tasks, it might not be worth the effort to read this book. However, if you are fairly comfortable with the language and are looking for ways to improve your code, this book would be a wonderful addition to your bookshelf." - James Mohr, Linux Magazine, November 2005

Book Description

Standards and Styles for Developing Maintainable Code

See all Product Description

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(0x9c8d2b94) out of 5 stars 52 reviews
57 of 60 people found the following review helpful
HASH(0x9d2b50d8) out of 5 stars This book has changed my life Sept. 12 2006
By Eric J. Wu - Published on Amazon.com
Format: Paperback Verified Purchase
This is a must-read for any Perl programmer. You are only as good as the teachers you have, and if your teachers use stuff like $|++, you are screwed. In this case, Conway would tell you to Use English;, and then you'd know what a $| is. A sampling of other tips:

Don't modify via $_ (too easy to screw things up)
Use hashes for arguments if arguments > 3 (trackability)
Use Croak instead of die (Croak gives more info, better for debugging)
Use ' ' instead of " " when no interpolation (less ambiguity)
Don't use unless (complication and confusion).
use /xms in regexes (for readability, and avoiding mistakes)
test when closing or opening a file

A few of the reviews here are 1 star. IMO these are people to which "freedom" is more important than "group code maintainability". This should really be the third Perl book for anybody, after Learning Perl and Intermediate Perl.

For those wanting to test their code against this book, there is a Perl Module, Perl::Critic, that does the job.
57 of 65 people found the following review helpful
HASH(0x9e66109c) out of 5 stars Gutsy, well researched and written Aug. 2 2005
By Jack D. Herrington - Published on Amazon.com
Format: Paperback
I love this book, and I'm impressed with the guts it took to write it. Perl is a "there are many ways to do it" language, and Perl programmers are adamant about finding clever solutions in the language. This book sets down a set of guidelines for the most professional way to do it. And in so doing pays Perl a lot more respect than it's paid in other books.

I strongly recommend that anyone writing Perl professionally should read this. But I do have an issue or two with it. For example, I think it was wrong to start off with a rule about brackets. That's one thing that people are religious about and there is no real reason to go one way or another. That starts the book on a weak premise. From which it quickly recovers.

Overall, a fantastic book. Well written and researched. It's the kind of book I would expect from Damian Conway and I wasn't let down. A must-read for Perl programmers.
18 of 19 people found the following review helpful
HASH(0x9c5e4d74) out of 5 stars If you program in Perl, you need this book Aug. 3 2005
By Randy Giedrycz - Published on Amazon.com
Format: Paperback
What a great book. If you have experience programming in Perl you will truely appreciate the hard won insights of the author. As I read through the author's tips and guidelines for Perl programming I would constantly find myself thinking 'what a great idea' or 'why didn't I think of that'. We are always told in programming 'don't reinvent the wheel', as advice to find code already written to solve our problem. Well, with this book you can do something just as good regarding the learning process of Perl programming. Following the author's guidelines will save you countless hours by making you a better Perl programmer. I wish I had this book about 5 years ago, it would have improved my Perl programming ten fold. Better late than never.
21 of 24 people found the following review helpful
HASH(0x9d8cd498) out of 5 stars If only there were more books as good as this Dec 23 2005
By Felix Sheng - Published on Amazon.com
Format: Paperback
This book is probably one of the best tech books I've read. The topics he covers range quite a bit starting from the very beginning with programming style through documentation and error handline. Style is a contentious topic, if ever there was one, but he argues convincingly for each of the points he makes and gives practical reasons why it benefits you to code in a certain way. We've all heard many of these things before, but I've never been convinced that the particular way I coded was less good than any other proposed way - this book has changed my opinion on that.

He brings up so many topics, some well discussed and some more esoteric and presents practical benefits that almost anyone who reads it, I expect, will come away with some new habits. I think there are very few books I've ever read that could convince people to change their programming ways - years of developing versus a couple hours of reading. You may not agree with every point he makes, but he'll make you think about why you do certain things, and that can't but help make you a better programmer.

I can not recommend this book enough to any perl developer out there. If you're new to it or been doing it for years, this book is for you.
9 of 9 people found the following review helpful
HASH(0x9c6979d8) out of 5 stars Just get it Jan. 3 2007
By Kevin Benton - Published on Amazon.com
Format: Paperback
Please allow me to be presumptuous and say that if you don't have this book and you're looking at buying it, stop waiting and just get it. As my bookshelf gets more and more full, this is one of those gems that I borrowed from my library, then went out and bought. Other reviewers have done an excellent job of detailing contents so I won't bore you with those.

The goal of this book is teaching Perl programmers how to write their code for both readability and maintainability. We've all been there - we wrote code months or years ago, or we're just picking up someone else's code and we need to go back in and change something. The challenge is, whether it's been a long time or it's someone else's code, it takes time to remember what we were trying to do. If we are inconsistent in our coding style, it can be difficult to switch to the style of the code we're working in.

Example: (quoting the book, p 453)



Don't be clever.


Tied variables are a clever idea, but "cleverness" is the

natural enemy of maintainable code. Unfortunately, Perl

provides endless opportunities for cleverness.

For example, imagine coming across this result selector in

production code:

| $optimal_result = [$result1=>$result2]->[$result2=>$result1];

This syntactic symmetry is very elegant, of course, and

devising it obviously provided the original developer with

a welcome diversion from the tedium of everyday coding. But

a clever line of code like that is a (recurring) nightmare

to understand and to maintain, and imposes an unnecessary

burden on everyone in the development and maintenance teams.

Cleverness doesn't have to be nearly that flagrant either.

Having finally deduced that the example expression returns

the smaller of the two results, you would almost certainly

be tempted to immediately replace it with something like

the following:

| $optimal_result = $result1 <= $result2 ? $result1 : $result2;

While that's certainly an improvement in both readability

and efficiency, it still requires some careful thought to

verify that it's doing the right (i.e., minimizing) thing.

And everyone who maintains this code will still have to

decode that expression--possibly every time they come

across it.

However, it's also possible to write that same expression

in a way that's so obvious, straightforward, and plain-

spoken that it requires no effort at all to verify that

it implements the desired behaviour:

| use List::Util qw( min );


| $optimal_result = min($result1, $result2);

It's not "clever" and it's even marginally slower, but

it is clean, clear, efficient, scalable, and easy to

maintain. And that's always a much better choice.

Encapsulated Cleverness


If you must rely on cleverness, encapsulate it.


If you never buy this book, at least go to your local library and check it out.