Perl Best Practices 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
Kindle Edition
 
   
Sell Back Your Copy
For a $2.84 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Perl Best Practices
 
 
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 (Author)
4.5 out of 5 stars  See all reviews (40 customer reviews)

List Price: $39.99
Price: $26.39 & this item ships for FREE with Super Saver Shipping. Details
You Save: $13.60 (34%)
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.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it delivered Tuesday, January 31? Choose One-Day Shipping at checkout. Details

Formats

Amazon Price New from Used from
Kindle Edition $17.27  
Paperback $26.39  
Like this book? Find similar titles from O'Reilly and Partners in our O'Reilly Bookstore.

Book Description

July 19, 2005

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 how software 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

Check Out Related Media



Frequently Bought Together

Perl Best Practices + Perl Cookbook, Second Edition + Intermediate Perl
Price For All Three: $83.85

Show availability and shipping details

Buy the selected items together
  • In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Perl Cookbook, Second Edition $32.97

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Intermediate Perl $24.49

    In Stock.
    Ships from and sold by Amazon.com.
    Eligible for FREE Super Saver Shipping on orders over $25. Details


Customers Who Bought This Item Also Bought


Editorial Reviews

Review

"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

About the Author

Damian Conway holds a PhD in Computer Science and is an honorary Associate Professor with the School of Computer Science and Software Engineering at Monash University, Melbourne, Australia.

Currently he runs an international IT training company--Thoughtstream--which provides programmer development from beginner to masterclass level throughout Europe, North America, and Australasia.

Damian was the winner of the 1998, 1999, and 2000 Larry Wall Awards for Practical Utility. The best technical paper at the annual Perl Conference was subsequently named in his honour. He is a member of the technical committee for The Perl Conference, a keynote speaker at many Open Source conferences, a former columnist for The Perl Journal, and author of the book Object Oriented Perl. In 2001 Damian received the first "Perl Foundation Development Grant" and spent 20 months working on projects for the betterment of Perl.

A popular speaker and trainer, he is also the author of numerous well-known Perl modules, including Parse::RecDescent (a sophisticated parsing tool), Class::Contract (design-by-contract programming in Perl), Lingua::EN::Inflect (rule-based English transformations for text generation), Class::Multimethods (multiple dispatch polymorphism), Text::Autoformat (intelligent automatic reformatting of plaintext), Switch (Perl's missing case statement), NEXT (resumptive method dispatch), Filter::Simple (Perl-based source code manipulation), Quantum::Superpositions (auto-parallelization of serial code using a quantum mechanical metaphor), and Lingua::Romana::Perligata (programming in Latin).

Most of his time is now spent working with Larry Wall on the design of the new Perl 6 programming language.


Product Details

  • Paperback: 544 pages
  • Publisher: O'Reilly Media; 1 edition (July 19, 2005)
  • Language: English
  • ISBN-10: 0596001738
  • ISBN-13: 978-0596001735
  • Product Dimensions: 9 x 7 x 1 inches
  • Shipping Weight: 2.2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (40 customer reviews)
  • Amazon Best Sellers Rank: #190,622 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

40 Reviews
5 star:
 (32)
4 star:
 (4)
3 star:
 (1)
2 star:    (0)
1 star:
 (3)
 
 
 
 
 
Average Customer Review
4.5 out of 5 stars (40 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

48 of 51 people found the following review helpful:
5.0 out of 5 stars This book has changed my life, September 12, 2006
By 
Eric J. Wu (cambridge, ma USA) - See all my reviews
(REAL NAME)   
This review is from: Perl Best Practices (Paperback)
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.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


54 of 62 people found the following review helpful:
5.0 out of 5 stars Gutsy, well researched and written, August 2, 2005
This review is from: Perl Best Practices (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.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


15 of 16 people found the following review helpful:
5.0 out of 5 stars If you program in Perl, you need this book, August 3, 2005
By 
This review is from: Perl Best Practices (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.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews



Inside This Book (learn more)
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
floor topping, code layout, modular testing, interface variables, lexical filehandles, return grep, punctuation variables, print substr, scalar context, dot metacharacter, anonymous subroutine, regex engine, hash slice, scalar contains, attribute hashes, iterator variable, utility subroutines, sym table, handle command lines, perl itself, string eval, possible typo, cyclic buffer, compaction type, input record separator
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Built-in Functions, Control Structures, Regular Expressions, Class Hierarchies, Command-Line Processing, Error Handling, Objects Example, Naming Conventions, Base Class Initialization, Miscellanea Example, Negative Control Statements, Discursive Documentation, List Processing Side Effects, Object Oriented Perl, Value of Subroutine, Tabular Ternaries, Interapplication Consistency, Scalar Returns, Indentation Level
New!
Concordance | Text Stats
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:

What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(29)
(4)

Your tags: Add your first tag
 

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
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums



So You'd Like to...



Look for Similar Items by Category


Look for Similar Items by Subject