Synopses & Reviews
With a worldwide community of users and more than a million dedicated programmers, Perl has proven to be the most effective language for the latest trends in computing and business.Every programmer must keep up with the latest tools and techniques. This updated version of Advanced Perl Programming from O'Reilly gives you the essential knowledge of the modern Perl programmer. Whatever your current level of Perl expertise, this book will help you push your skills to the next level and become a more accomplished programmer.O'Reilly's most high-level Perl tutorial to date, Advanced Perl Programming, Second Edition teaches you all the complex techniques for production-ready Perl programs. This completely updated guide clearly explains concepts such as introspection, overriding built-ins, extending Perl's object-oriented model, and testing your code for greater stability.Other topics include:
- Complex data structures
- Templating toolkits
- Working with natural language data
- Interaction with C and other languages
In addition, this guide demystifies once complex topics like object-relational mapping and event-based development-arming you with everything you need to completely upgrade your skills.Praise for the Second Edition:"Sometimes the biggest hurdle to problem solving isn't the subject itself but rather the sheer number of modules Perl provides. Advanced Perl Programming
walks you through Perl's TMTOWTDI ("There's More Than One Way To Do It") forest, explaining and comparing the best modules for each task so you can intelligently apply them in a variety of situations." --Rocco Caputo, lead developer of POE"It has been said that sufficiently advanced Perl code is indistinguishable from magic. This book of spells goes a long way to unlocking those secrets. It has the power to transform the most humble programmer into a Perl wizard." --Andy Wardley"The information here isn't theoretical. It presents tools and techniques for solving real problems cleanly and elegantly." --Curtis 'Ovid' Poe" Advanced Perl Programming
collects hard-earned knowledge from some of the best programmers in the Perl community, and explains it in a way that even novices can apply immediately." --chromatic, Editor of Perl.com
With a worldwide community of users and more than a million dedicated programmers, Perl has proven to be the most effective language for the latest trends in computing and business.
Every programmer must keep up with the latest tools
About the Author
Tim Jenness is employed as a software engineer for two British telescopes in Hawaii--the James Clerk Maxwell Telescope and the United Kingdom Infrared Telescope. He has 10 modules on CPAN, including two that are distributed as part of the core Perl distribution (File:: Temp and Pod:: LateX). He has been a Perl developer for seven years and has been contributing to general Perl development on the perl5-porters list for two years. He has also been a contributor to the Perl Data Language from early in its development. He lives in Hilo, Hawaii. Simon Cozens works as a programmer for Oxford University Computing Services as part of the Unix team. He has been a Perl developer for six years and has contributed to perl5-porters for three. He takes a particular interest in documentation, specifically writing documentation and training materials to help new contributors. Cozens was also the release manager for the first four releases of the Perl 6 runtime engine, Parrot.
Table of Contents
Preface; Audience; Contents; Conventions Used in This Book; Using Code Examples; We'd Like to Hear from You; Safari® Enabled; Acknowledgments; Chapter 1: Advanced Techniques; 1.1 Introspection; 1.2 Messing with the Class Model; 1.3 Unexpected Code; 1.4 Conclusion; Chapter 2: Parsing Techniques; 2.1 Parse::RecDescent Grammars; 2.2 Parse::Yapp; 2.3 Other Parsing Techniques; 2.4 Conclusion; Chapter 3: Templating Tools; 3.1 Formats and Text::Autoformat; 3.2 Text::Template; 3.3 HTML::Template; 3.4 HTML::Mason; 3.5 Template Toolkit; 3.6 AxKit; 3.7 Conclusion; Chapter 4: Objects, Databases, and Applications; 4.1 Beyond Flat Files; 4.2 Object Serialization; 4.3 Object Databases; 4.4 Database Abstraction; 4.5 Practical Uses in Web Applications; 4.6 Conclusion; Chapter 5: Natural Language Tools; 5.1 Perl and Natural Languages; 5.2 Handling English Text; 5.3 Modules for Parsing English; 5.4 Categorization and Extraction; 5.5 Conclusion; Chapter 6: Perl and Unicode; 6.1 Terminology; 6.2 What Is Unicode?; 6.3 Unicode Transformation Formats; 6.4 Handling UTF-8 Data; 6.5 Encode; 6.6 Unicode for XS Authors; 6.7 Conclusion; Chapter 7: POE; 7.1 Programming in an Event-Driven Environment; 7.2 Top-Level Pieces: Components; 7.3 Conclusion; Chapter 8: Testing; 8.1 Test::Simple; 8.2 Test::More; 8.3 Test::Harness; 8.4 Test::Builder; 8.5 Test::Builder::Tester; 8.6 Keeping Tests and Code Together; 8.7 Unit Tests; 8.8 Conclusion; Chapter 9: Inline Extensions; 9.1 Simple Inline::C; 9.2 More Complex Tasks with Inline::C; 9.3 Inline:: Everything Else; 9.4 Conclusion; Chapter 10: Fun with Perl; 10.1 Obfuscation; 10.2 Just Another Perl Hacker; 10.3 Perl Golf; 10.4 Perl Poetry; 10.5 Acme::*; 10.6 Conclusion; Colophon;