Perl Best Practices and over 2 million other books are available for Amazon Kindle . Learn more

Sign in to turn on 1-Click ordering.
Trade in Yours
For a £3.51 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Image not available

Start reading Perl Best Practices on your Kindle in under a minute.

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

Perl Best Practices [Paperback]

Damian Conway
4.7 out of 5 stars  See all reviews (6 customer reviews)
RRP: £25.03
Price: £23.39 & FREE Delivery in the UK. Details
You Save: £1.64 (7%)
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 13 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Want it tomorrow, 26 Oct.? Choose Express delivery at checkout. Details


Amazon Price New from Used from
Kindle Edition £14.51  
Paperback £23.39  
Trade In this Item for up to £3.51
Trade in Perl Best Practices for an Amazon Gift Card of up to £3.51, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Book Description

22 July 2005 0596001738 978-0596001735 1

Many programmers code by instinct, relying on convenient habits or a "style" they picked up early on. They aren't conscious of all the choices they make, like how they format their source, the names they use for variables, or the kinds of loops they use. They're focused entirely on problems they're solving, solutions they're creating, and algorithms they're implementing. So they write code in the way that seems natural, that happens intuitively, and that feels good.

But if you're serious about your profession, intuition isn't enough. Perl Best Practices author Damian Conway explains that rules, conventions, standards, and practices not only help programmers communicate and coordinate with one another, they also provide a reliable framework for thinking about problems, and a common language for expressing solutions. This is especially critical in Perl, because the language is designed to offer many ways to accomplish the same task, and consequently it supports many incompatible dialects.

With a good dose of Aussie humor, Dr. Conway (familiar to many in the Perl community) offers 256 guidelines on the art of coding to help you write better Perl code--in fact, the best Perl code you possibly can. The guidelines cover code layout, naming conventions, choice of data and control structures, program decomposition, interface design and implementation, modularity, object orientation, error handling, testing, and debugging.

They're designed to work together to produce code that is clear, robust, efficient, maintainable, and concise, but Dr. Conway doesn't pretend that this is the one true universal and unequivocal set of best practices. Instead, Perl Best Practices offers coherent and widely applicable suggestions based on real-world experience of how code is actually written, rather than on someone's ivory-tower theories on howsoftware ought to be created.

Most of all, Perl Best Practices offers guidelines that actually work, and that many developers around the world are already using. Much like Perl itself, these guidelines are about helping you to get your job done, without getting in the way.

Praise for Perl Best Practices from Perl community members:

"As a manager of a large Perl project, I'd ensure that every member of my team has a copy of Perl Best Practices on their desk, and use it as the basis for an in-house style guide."-- Randal Schwartz

"There are no more excuses for writing bad Perl programs. All levels of Perl programmer will be more productive after reading this book."-- Peter Scott

"Perl Best Practices will be the next big important book in the evolution of Perl. The ideas and practices Damian lays down will help bring Perl out from under the embarrassing heading of "scripting languages". Many of us have known Perl is a real programming language, worthy of all the tasks normally delegated to Java and C++. With Perl Best Practices, Damian shows specifically how and why, so everyone else can see, too."-- Andy Lester

"Damian's done what many thought impossible: show how to build large, maintainable Perl applications, while still letting Perl be the powerful, expressive language that programmers have loved for years."-- Bill Odom

"Finally, a means to bring lasting order to the process and product of real Perl development teams."-- Andrew Sundstrom

"Perl Best Practices provides a valuable education in how to write robust, maintainable Perl, and is a definitive citation source when coaching other programmers."-- Bennett Todd"I've been teaching Perl for years, and find the same question keeps being asked: Where can I find a reference for writing reusable, maintainable Perl code? Finally I have a decent answer."-- Paul Fenwick"At last a well researched, well thought-out, comprehensive guide to Perl style. Instead of each of us developing our own, we can learn good practices from one of Perl's most prolific and experienced authors. I recommend this book to anyone who prefers getting on with the job rather than going back and fixing errors caused by syntax and poor style issues."-- Jacinta Richardson"If you care about programming in any language read this book. Even if you don't intend to follow all of the practices, thinking through your style will improve it."-- Steven Lembark"The Perl community's best author is back with another outstanding book. There has never been a comprehensive reference on high quality Perl coding and style until Perl Best Practices. This book fills a large gap in every Perl bookshelf."-- Uri Guttman

Special Offers and Product Promotions

  • Between 20-26 October 2014, spend £10 in a single order on item(s) dispatched from and sold by and receive a £2 promotional code to spend in the Amazon Appstore. Here's how (terms and conditions apply)

Frequently Bought Together

Perl Best Practices + Perl Cookbook + Learning Perl
Price For All Three: £73.43

Buy the selected items together
  • Perl Cookbook £29.25
  • Learning Perl £20.79

Product details

  • Paperback: 544 pages
  • Publisher: O'Reilly Media; 1 edition (22 July 2005)
  • Language: English
  • ISBN-10: 0596001738
  • ISBN-13: 978-0596001735
  • Product Dimensions: 17.9 x 3 x 23.1 cm
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (6 customer reviews)
  • Amazon Bestsellers Rank: 217,152 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

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

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

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4 star
2 star
1 star
4.7 out of 5 stars
4.7 out of 5 stars
Most Helpful Customer Reviews
7 of 7 people found the following review helpful
5.0 out of 5 stars Best Perl book ever 15 July 2007
Not only the best Perl book I've ever read, it's also one of the best programming language books, period.

If you've ever programmed C++ or Java, you'll know how revered the likes of Effective C++ and Effective Java are, a series of tips, suggestions, idioms, advice and commandments. This is the equivalent for Perl, except it's even more thorough and covers even more ground, from brace layout and statement formatting, to regexes, unit testing, documentation and command line parsing.

There's also an exceptionally good chapter on object orientation, wherein author Damian Conway guides the reader through the use of his own Class::Std module. If you're using objects in Perl, and you're still rolling your own, you're really making life unnecessarily difficult for yourself. Class::Std provides object features reminiscent of CLOS, and makes Perl competitive with the likes of Python and Ruby when it comes to objects. Class::Std has changed the way I code Perl forever, and I know I'm not the only one. Seriously, this chapter is worth the price of admission on it own.

It's hard to overstate just how much excellent stuff there is in here, there's even useful emacs and vi settings provided! And I've not even mentioned how well written it is. Damian Conway really does prove himself the master of witty examples.

Perl Best Practices is just brilliant. Absolutely essential reading - don't code Perl without it.
Comment | 
Was this review helpful to you?
4 of 4 people found the following review helpful
The Perl motto "there's more than one way to do it" comes to bite you as you start to write longer and longer codes. Other people's Perl "codes" are often totally intractable and my scripts were probably even worse... Where does it all go wrong? Most of us who "code" in Perl started off writing short scripts to do simple tasks and it just grew - still looking like scripts but longer, meaner and weirder.

The Best Practices starts off with formatting. Seemingly trivial but it really makes a big difference to the legibility of your code. I've taken away the formatting guide to when coding in Matlab too. Small things like spacing makes a big difference:

$average = ($one + $two + three) / 3;

is better than

$average=( $one+$two+$three )/3;

Perl Best Practices consists of a series of do's and don'ts. For example, don't use postfix looping controls like "do {...} while ($ii < 10)". Use "for my $ii (0..10) {...}". Did you also know that for and foreach loop declare their own local loop variable within the for loop? So $ii outside the loop is not the same as inside the loop in the following code:

my $ii = -1;
for $ii (0..10) {
last LOOP if ($ii >= 5);
print "$ii\n"; # This prints -1 not 5!

Some of the Best Practices are quite severe but there are lots of useful bits that you can pick and mix. All the best practices are clearly illustrated with don'ts followed by do's (in bold). Those with previous programming experience might even be better off starting with this book (supplemented with some online materials) to avoid picking up bad habits.

This book will make your Perl scripts more readable, more efficient, easier to debug and maintain.
Comment | 
Was this review helpful to you?
3 of 3 people found the following review helpful
5.0 out of 5 stars No Perl bookshelf should be without it... 26 July 2007
I have to agree with the previous reviewers that this book will seriously change the way you code Perl. Having read this you will write more readable, more maintainable, more thoughtful, better documented (and better self-documenting) code... and this in addition to learning techniques to simply writing *better* code.

Use the downloadable files to amend your Emacs/Vim config to the PBP way, and run all your pre-release code through perltidy and Perl::Critic (using the PBP theme) and you will wonder why you ever released those un-readable, "I'm pretty sure I understood what I was doing when I wrote this", scripts/modules in the past.

Yet another classic from the O'Reilly stables.
Comment | 
Was this review helpful to you?
Would you like to see more reviews about this item?
Were these reviews helpful?   Let us know

Customer Discussions

This product's forum
Discussion Replies Latest Post
Testing 1 26 Jul 2007
See all discussions...  
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions

Look for similar items by category