Credits; About the Authors; About the Contributors; Acknowledgments;Preface; Why Perl Hacks?; How To Use This Book; How This Book Is Organized; Conventions Used in This Book; Using Code Examples; Safari Enabled; We'd Like to Hear from You;Chapter 1: Productivity Hacks; 1 Add CPAN Shortcuts to Firefox; 2 Put Perldoc to Work; 3 Browse Perl Docs Online; 4 Make the Most of Shell Aliases; 5 Autocomplete Perl Identifiers in Vim; 6 Use the Best Emacs Mode for Perl; 7 Enforce Local Style; 8 Don't Save Bad Perl; 9 Automate Checkin Code Reviews; 10 Run Tests from Within Vim; 11 Run Perl from Emacs;Chapter 2: User Interaction; 12 Use $EDITOR As Your UI; 13 Interact Correctly on the Command Line; 14 Simplify Your Terminal Interactions; 15 Alert Your Mac; 16 Interactive Graphical Apps; 17 Collect Configuration Information; 18 Rewrite the Web;Chapter 3: Data Munging; 19 Treat a File As an Array; 20 Read Files Backwards; 21 Use Any Spreadsheet As a Data Source; 22 Factor Out Database Code; 23 Build a SQL Library; 24 Query Databases Dynamically Without SQL; 25 Bind Database Columns; 26 Iterate and Generate Expensive Data; 27 Pull Multiple Values from an Iterator;Chapter 4: Working with Modules; 28 Shorten Long Class Names; 29 Manage Module Paths; 30 Reload Modified Modules; 31 Create Personal Module Bundles; 32 Manage Module Installations; 33 Presolve Module Paths; 34 Create a Standard Module Toolkit; 35 Write Demos from Tutorials; 36 Replace Bad Code from the Outside; 37 Drink to the CPAN; 38 Improve Exceptional Conditions; 39 Search CPAN Modules Locally; 40 Package Standalone Perl Applications; 41 Create Your Own Lexical Warnings; 42 Find and Report Module Bugs;Chapter 5: Object Hacks; 43 Turn Your Objects Inside Out; 44 Serialize Objects (Mostly) for Free; 45 Add Information with Attributes; 46 Make Methods Really Private; 47 Autodeclare Method Arguments; 48 Control Access to Remote Objects; 49 Make Your Objects Truly Polymorphic; 50 Autogenerate Your Accessors;Chapter 6: Debugging; 51 Find Compilation Errors Fast; 52 Make Invisible Characters Apparent; 53 Debug with Test Cases; 54 Debug with Comments; 55 Show Source Code on Errors; 56 Deparse Anonymous Functions; 57 Name Your Anonymous Subroutines; 58 Find a Subroutine's Source; 59 Customize the Debugger;Chapter 7: Developer Tricks; 60 Rebuild Your Distributions; 61 Test with Specifications; 62 Segregate Developer and User Tests; 63 Run Tests Automatically; 64 See Test Failure Diagnostics -- in Color!; 65 Test Live Code; 66 Cheat on Benchmarks; 67 Build Your Own Perl; 68 Run Test Suites Persistently; 69 Simulate Hostile Environments in Your Tests;Chapter 8: Know Thy Code; 70 Understand What Happens When; 71 Inspect Your Data Structures; 72 Find Functions Safely; 73 Know What's Core and When; 74 Trace All Used Modules; 75 Find All Symbols in a Package; 76 Peek Inside Closures; 77 Find All Global Variables; 78 Introspect Your Subroutines; 79 Find Imported Functions; 80 Profile Your Program Size; 81 Reuse Perl Processes; 82 Trace Your Ops; 83 Write Your Own Warnings;Chapter 9: Expand Your Perl Foo; 84 Double Your Data with Dualvars; 85 Replace Soft References with Real Ones; 86 Optimize Away the Annoying Stuff; 87 Lock Down Your Hashes; 88 Clean Up at the End of a Scope; 89 Invoke Functions in Odd Ways; 90 Glob Those Sequences; 91 Write Less Error-Checking Code; 92 Return Smarter Values; 93 Return Active Values; 94 Add Your Own Perl Syntax; 95 Modify Semantics with a Source Filter; 96 Use Shared Libraries Without XS; 97 Run Two Services on a Single TCP Port; 98 Improve Your Dispatch Tables; 99 Track Your Approximations; 100 Overload Your Operators; 101 Learn from Obfuscations;Colophon;.
Perl Hacks : Tips and Tools for Programming, Debugging, and Surviving