Perl Hacks 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
 
   
More Buying Choices
Have one to sell? Sell yours here
Perl Hacks: Tips & Tools for Programming, Debugging, and Surviving
 
 
Start reading Perl Hacks on your Kindle in under a minute.

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

Perl Hacks: Tips & Tools for Programming, Debugging, and Surviving [Paperback]

chromatic (Author), Damian Conway (Author), Curtis "Ovid" Poe (Author)
5.0 out of 5 stars  See all reviews (10 customer reviews)

List Price: $29.99
Price: $19.69 & eligible for FREE Super Saver Shipping on orders over $25. Details
You Save: $10.30 (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 $14.39  
Paperback $19.69  
Like this book? Find similar titles from O'Reilly and Partners in our O'Reilly Bookstore.

Book Description

Hacks May 15, 2006

With more than a million dedicated programmers, Perl has proven to be the best computing language for the latest trends in computing and business. While other languages have stagnated, Perl remains fresh, thanks to its community-based development model, which encourages the sharing of information among users. This tradition of knowledge-sharing allows developers to find answers to almost any Perl question they can dream up.



And you can find many of those answers right here in Perl Hacks. Like all books in O'Reilly's Hacks Series, Perl Hacks appeals to a variety of programmers, whether you're an experienced developer or a dabbler who simply enjoys exploring technology. Each hack is a short lesson--some are practical exercises that teach you essential skills, while others merely illustrate some of the fun things that Perl can do. Most hacks have two parts: a direct answer to the immediate problem you need to solve right now and a deeper, subtler technique that you can adapt to other situations. Learn how to add CPAN shortcuts to the Firefox web browser, read files backwards, write graphical games in Perl, and much more.



For your convenience, Perl Hacks is divided by topic--not according to any sense of relative difficulty--so you can skip around and stop at any hack you like. Chapters include:



  • Productivity Hacks
  • User Interaction
  • Data Munging
  • Working with Modules
  • Object Hacks
  • Debugging


Whether you're a newcomer or an expert, you'll find great value in Perl Hacks, the only Perl guide that offers something useful and fun for everyone.

Check Out Related Media



Frequently Bought Together

Perl Hacks: Tips & Tools for Programming, Debugging, and Surviving + Perl Best Practices + Perl Cookbook, Second Edition
Price For All Three: $79.05

Show availability and shipping details

Buy the selected items together
  • In Stock.
    Ships from and sold by Amazon.com.
    Eligible for FREE Super Saver Shipping on orders over $25. Details

  • Perl Best Practices $26.39

    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


Customers Who Bought This Item Also Bought


Editorial Reviews

About the Author

chromatic manages Onyx Neon Press, an independent publisher. His areas of expertise include agile software development, language design, and virtual machines for dynamic languages. He is also a published novelist. His books include The Art of Agile Development and Masterminds of Programming.

Dr. Damian Conway is a Senior Lecturer in Computer Science and Software Engineering at Monash University (Melbourne, Australia), where he teaches object-oriented software engineering. He is an effective teacher, an accomplished writer, and the author of several popular Perl modules. He is also a semi-regular contributor to the Perl Journal. In 1998 he was the winner of the Larry Wall Award for Practical Utility for two modules (Getopt::Declare and Lingua::EN::Inflect) and in 1999 he won his second "Larry" for his Coy.pm haiku-generation module.

Curtis (Ovid) Poe is a CPAN author, a TPF Steering Committee Member, and the TPF Grant Committee Secretary. He likes long walks on the beach and single malt scotch, but hates writing bios. Ovid writes for Perl.com too.

Curtis (Ovid) Poe is a CPAN author, a TPF Steering Committee Member, and the TPF Grant Committee Secretary. He likes long walks on the beach and single malt scotch, but hates writing bios. Ovid writes for Perl.com too.


Product Details

  • Paperback: 304 pages
  • Publisher: O'Reilly Media; 1 edition (May 15, 2006)
  • Language: English
  • ISBN-10: 0596526741
  • ISBN-13: 978-0596526740
  • Product Dimensions: 9 x 6.1 x 0.7 inches
  • Shipping Weight: 14.4 ounces (View shipping rates and policies)
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (10 customer reviews)
  • Amazon Best Sellers Rank: #94,664 in Books (See Top 100 in Books)

More About the Author

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

 

Customer Reviews

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

47 of 49 people found the following review helpful:
5.0 out of 5 stars A toolbox and tutorial for the working Perl programmer, May 19, 2006
This review is from: Perl Hacks: Tips & Tools for Programming, Debugging, and Surviving (Paperback)
This book is for experienced working Perl programmers - most likely system administrators but not necessarily - that need working solutions to real problems you'll most likely find in the workplace. There are a few diversions into such "cute" ideas as building animations in Perl, but most of these hacks are for the working programmer who is looking for ways to automate processes, build interfaces that don't get in the way of developers, and thoroughly test and simulate code. Amazon does not show the table of contents so I review this book in the context of the table of contents.
Chapter 1, Productivity Hacks
The hacks in this chapter are about relentless automation - saving time and effort. They allow you to find the information you want, automate repeated tasks, and find ways not to have to think about things that you do all the time.
Chapter 2, User Interaction
Menus, graphics, beeps, and command lines: these are all ways your programs grab user attention. This chapter is about keeping your users happy and even making your interfaces "pretty" with Perl. People may not notice when your code stays out of their way, but you know by their grimaces when it becomes an obstacle. My favorite hack in this chapter was Hack #16 "Interactive Graphical Apps". This uses sdlperl, which is a binding of the C low-level graphical library SDL for the Perl language. The hack is a short example program animating a colored rectangle and its fading tail. It first creates the needed series of surfaces, with a fading color and transparency, then animates sprites along a periodic path. It is a good example of using a GUI in PERL.
Chapter 3, Data Munging
Perl exists to extract, reformat, and report data. This chapter is about novel ways to connect to data and databases that are not "kludgy". For example, Hack #21 is "Use Any Spreadsheet As a Data Source". In it you use the Spreadsheet::Read module to give you a single interface to the data of most spreadsheet formats available, hiding all the troublesome work that deals with the parsers and portability, yet being flexible enough to get to the guts of the spreadsheet.
In Hack #20, "Read Files Backwards" suppose you have a server process that continually writes its status to a file. You only care about its current status, not its historical data. If its status is up, everyone is happy. If its status is down, you need to panic and notify everyone, thus you need to read the log file backwards and this hack shows you how.
Chapter 4, Working with Modules
Perl 5's greatest invention is the concept of the module - a unit of reusable code.
If you're doing any serious work with Perl, you'll spend a lot of time working with modules: installing them, upgrading them, loading them, working around weird and unhelpful features, and even distributing them. It makes a lot of sense to understand how Perl and modules interact and how to work with them effectively.
Chapter 5, Object Hacks
Abstraction, encapsulation, and genericity are the keys to designing large, maintainable systems. Some people claim that Perl doesn't really do OO, but they're wrong and these hacks demonstrate that by building some powerful abstractions.
Chapter 6, Debugging
Someday you'll have to dig through a pile of Perl left by an obnoxious coworker. This chapter prepares you for the worst with a toolkit full of tips and techniques to disarm the weirdest code you can imagine.
Chapter 7, Developer Tricks
Maintaining a program is different from maintaining an entire system. This is doubly true if you work with other people. If anything, discipline and consistency are more important than ever. This chapter is all about testing code, working with benchmarks, and even simulating hostile environments.
Chapter 8, Know Thy Code
If you really want to take advantage of the deeper mysteries of Perl, you have to be able to look deeply into the language, the libraries, and the interpreter itself--as well as your own code--and understand what's happening.
Chapter 9, Expand Your Perl Foo
This chapter explores a few of the odder ideas in the world of Perl. Then you'll be ready to discover your own. The explicit list of hacks is as follows:
Chapter 1. Productivity Hacks
Hack 1. Add CPAN Shortcuts to Firefox
Hack 2. Put Perldoc to Work
Hack 3. Browse Perl Docs Online
Hack 4. Make the Most of Shell Aliases
Hack 5. Autocomplete Perl Identifiers in Vim
Hack 6. Use the Best Emacs Mode for Perl
Hack 7. Enforce Local Style
Hack 8. Don't Save Bad Perl
Hack 9. Automate Checkin Code Reviews
Hack 10. Run Tests from Within Vim
Hack 11. Run Perl from Emacs
Chapter 2. User Interaction
Hack 12. Use $EDITOR As Your UI
Hack 13. Interact Correctly on the Command Line
Hack 14. Simplify Your Terminal Interactions
Hack 15. Alert Your Mac
Hack 16. Interactive Graphical Apps
Hack 17. Collect Configuration Information
Hack 18. Rewrite the Web
Chapter 3. Data Munging
Hack 19. Treat a File As an Array
Hack 20. Read Files Backwards
Hack 21. Use Any Spreadsheet As a Data Source
Hack 22. Factor Out Database Code
Hack 23. Build a SQL Library
Hack 24. Query Databases Dynamically Without SQL
Hack 25. Bind Database Columns
Hack 26. Iterate and Generate Expensive Data
Hack 27. Pull Multiple Values from an Iterator
Chapter 4. Working with Modules
Hack 28. Shorten Long Class Names
Hack 29. Manage Module Paths
Hack 30. Reload Modified Modules
Hack 31. Create Personal Module Bundles
Hack 32. Manage Module Installations
Hack 33. Presolve Module Paths
Hack 34. Create a Standard Module Toolkit
Hack 35. Write Demos from Tutorials
Hack 36. Replace Bad Code from the Outside
Hack 37. Drink to the CPAN
Hack 38. Improve Exceptional Conditions
Hack 39. Search CPAN Modules Locally
Hack 40. Package Standalone Perl Applications
Hack 41. Create Your Own Lexical Warnings
Hack 42. Find and Report Module Bugs
Chapter 5. Object Hacks
Hack 43. Turn Your Objects Inside Out
Hack 44. Serialize Objects (Mostly) for Free
Hack 45. Add Information with Attributes
Hack 46. Make Methods Really Private
Hack 47. Autodeclare Method Arguments
Hack 48. Control Access to Remote Objects
Hack 49. Make Your Objects Truly Polymorphic
Hack 50. Autogenerate Your Accessors
Chapter 6. Debugging
Hack 51. Find Compilation Errors Fast
Hack 52. Make Invisible Characters Apparent
Hack 53. Debug with Test Cases
Hack 54. Debug with Comments
Hack 55. Show Source Code on Errors
Hack 56. Deparse Anonymous Functions
Hack 57. Name Your Anonymous Subroutines
Hack 58. Find a Subroutine's Source
Hack 59. Customize the Debugger
Chapter 7. Developer Tricks
Hack 60. Rebuild Your Distributions
Hack 61. Test with Specifications
Hack 62. Segregate Developer and User Tests
Hack 63. Run Tests Automatically
Hack 64. See Test Failure Diagnostics -- in Color!
Hack 65. Test Live Code
Hack 66. Cheat on Benchmarks
Hack 67. Build Your Own Perl
Hack 68. Run Test Suites Persistently
Hack 69. Simulate Hostile Environments in Your Tests
Chapter 8. Know Thy Code
Hack 70. Understand What Happens When
Hack 71. Inspect Your Data Structures
Hack 72. Find Functions Safely
Hack 73. Know What's Core and When
Hack 74. Trace All Used Modules
Hack 75. Find All Symbols in a Package
Hack 76. Peek Inside Closures
Hack 77. Find All Global Variables
Hack 78. Introspect Your Subroutines
Hack 79. Find Imported Functions
Hack 80. Profile Your Program Size
Hack 81. Reuse Perl Processes
Hack 82. Trace Your Ops
Hack 83. Write Your Own Warnings
Chapter 9. Expand Your Perl Foo
Hack 84. Double Your Data with Dualvars
Hack 85. Replace Soft References with Real Ones
Hack 86. Optimize Away the Annoying Stuff
Hack 87. Lock Down Your Hashes
Hack 88. Clean Up at the End of a Scope
Hack 89. Invoke Functions in Odd Ways
Hack 90. Glob Those Sequences
Hack 91. Write Less Error-Checking Code
Hack 92. Return Smarter Values
Hack 93. Return Active Values
Hack 94. Add Your Own Perl Syntax
Hack 95. Modify Semantics with a Source Filter
Hack 96. Use Shared Libraries Without XS
Hack 97. Run Two Services on a Single TCP Port
Hack 98. Improve Your Dispatch Tables
Hack 99. Track Your Approximations
Hack 100. Overload Your Operators
Hack 101. Learn from Obfuscations
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


20 of 20 people found the following review helpful:
5.0 out of 5 stars Excellent Practical Advice for Perl Programmers, May 27, 2006
By 
Devin Croak (Troy, NY United States) - See all my reviews
(REAL NAME)   
This review is from: Perl Hacks: Tips & Tools for Programming, Debugging, and Surviving (Paperback)
If your a serious Perl programmer or a long-time Perl scripter whose looking to broaden your horizons then this is an excellent book. Surprisingly, this is really a Perl book for professional Perl developers, sys-admins, and scripters. This book avoids parlor-tricks like "Controlling your coffee maker with Perl" and focuses on how best to make writing and testing Perl code quick, easy, and sometimes even fun.

O'Reilly's "Hacks" series of books have been hit or miss. Many books in this series regurgitate the basics a veteran probably already knows or provide convoluted or contrived examples that usually try to do too much, leaving you to extrapolate to the problem at hand. "Hacks" books can often contain an overabundance of gimmicks or games which, while instructive, can only have practical considerations for very few programmers. Some of these flaws would be acceptable in a book about "gaming" or "tuning your car" for non-professionals; this book is for people who know Perl and want to do more with it.

Perl is a language that often gets called on for quick and dirty tasks so perhaps it's natural that the book has allot of excellent advice. This book manages to not reiterate the information of the core Perl book trilogy ("Learning Perl", "Programming Perl" and the "Perl Cookbook"). Instead it focuses on practical UI, database, and developer tips and tricks. It assumes you know how to put Perl through it's paces and focuses on helping you do things more effectively.

I won't repeat the table of contents except to say that object-oriented programming, modules, user-interfaces, databases, and debugging are given plenty of coverage. If you find yourself working more with modules and packages, don't debug your Perl programs with print statements anymore, or are buried under unorganized Perl spaghetti then this book is for you.

I can't recommend this to a Perl beginner. You're much better off with perldoc or "Learning Perl". It's not a "101 things you can do with regular expressions" book either. If you write one-liner Perl scripts and never wish to move beyond that then this isn't your book either.

I'm not a "professional" Amazon reviewer. I just read this book and like what I've read and examples I've used. Perl has become a daily part of my job and it's books like these that demonstrate it to be capable language for rapid long-term development. It's odd that a book in the "Hacks" series so clearly demonstrates that Perl is capable of so much more.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


13 of 13 people found the following review helpful:
5.0 out of 5 stars Excellent Compendium of Perl Tricks, November 21, 2006
This review is from: Perl Hacks: Tips & Tools for Programming, Debugging, and Surviving (Paperback)
To be completely honest, this isn't the book I thought it was going to be. Most O'Reilly Hacks books start off pretty simply and in a few chapters take you to the further reaches of their subject area. Whilst this is a great way to quickly get a good taste of a particular topic, it has the occasional disadvantage that for subjects that you know well, the first couple of chapters can seem a bit basic. As I know Perl pretty well, I thought I would be on familiar ground for at least half of the book.

I was wrong.

Oh, it started off easily enough. Making use of various browser and command line tools to get easy access to Perl documentation, creating some useful shell aliases to cut down typing for your most common tasks. "Oh yes", I thought smugly to myself, "I know all that". But by about Hack 5 I was reading about little tweaks that I didn't know about. I'd start a hack thinking that I knew everything that the authors were going to cover and end up frustrated that I was on the tube and couldn't immediately try out the new trick I had just learnt.

It's really that kind of book. Pretty much everyone who reads it will pick up something that will it easier for them to get their job done (well, assuming that their job involves writing Perl code!) And, of course, looking at the list of authors, that's only to be expected. The three authors listed on the cover are three of the Perl communities most respected members. And the list of other contributers reads like a who's who of people who are doing interesting things with Perl - people whose use.perl journals are always interesting or whose posts on Perl Monks are worth reading before other people's. Luckily, it turns out that all these excellent programmers can also explain what they are doing (and why they are doing it) very clearly.

Like all books in the Hacks series, it's a little bitty. The hacks are organised into nine broad chapters, but the connections between hacks in the same chapter can sometimes be a bit hard to see. But I enjoyed that. In places it made the book a bit of a rollercoaster ride. You're never quite sure what is coming next, but you know it's going to be fun.

In fact, the more I think about it, the more apt the fairground analogy seems. When you ask Perl programmers what they like about Perl, you'll often hear "fun" mentioned near the top of the list. People use Perl because they enjoy it. And the authors' enjoyment of Perl really comes through in the book. It's obvious that they really wanted to show people the things that they thought were really cool.

Although I did learn useful tips from the earlier part of the book, it was really the last three chapters that were the most useful for me. Chapter 7, Developer Tricks, had a lot of useful things to say about testing, Chapter 8, Know Thy Code, contains a lot of information on using Perl to examine your Perl code and Chapter 9, Expand Your Perl Foo was a grab-bag of obscure (but still useful) Perl tricks.

So where does this book fit in to O'Reilly's Perl canon? I can't recommend it for beginners. But if you're a working Perl programmer with a couple of years' experience then I'd be very surprised if you didn't pick up something that will be useful to you. And don't worry about it overlapping with other books in your Perl library - offhand I can't think of anything in the book that has been covered in any previous Perl book.

All in all, this would make a very useful addition to your Perl library.
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)
remote objects, serialize objects, heredoc contents, use aliased, anonymous subroutines, sub foo, sub import, hash reference, lexical variables, soft references, subroutine reference, perl syntax, scalar context, debugging statements, bundle file, use warnings, dispatch table, module list
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Expand Your Perl Foo, Know Thy Code, Developer Tricks, Productivity Hacks, Object Hacks, User Interaction, Data Munging, The Hack Suppose, Invoke Functions, Interactive Graphical Apps, Odd Ways, Simulate Hostile Environments, Modify Semantics, Autogenerate Your Accessors, Put Perldoc, Pull Multiple Values, Control Access, Write Your Own Warnings, Don't Save Bad Perl, Run Two Services, Improve Your Dispatch Tables, Turn Your Objects Inside Out, Make the Most of Shell Aliases, Autocomplete Perl Identifiers, Data Source
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.
 
(14)
(2)

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
 

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