Perl

Publisher’s information Comments
Advanced Perl Programming
by Sriram Srinivasan
August 1997
O’Reilly & Associates, Inc.
ISBN 1-56592-220-4

This book is dated, but it provides useful chapters on using references for building data records in memory. Most of the other material appears in amplified form in later O’Reilly books.

A completely new 2nd edition of this book was published in June, 2005. The second edition was written by Simon Cozens, and the subject matter is completely different.

The book’s chapters are:

  1. Data References and Anonymous Storage
  2. Implementing Complex Data Structures
  3. Typeglobs and Symbol Tables
  4. Subroutine References and Closures
  5. Eval
  6. Modules
  7. Object-Oriented Programming
  8. Object Orientation: The Next Few Steps
  9. Tie
  10. Persistence
  11. Implementing Object Persistence
  12. Networking with Sockets
  13. Networking: Implementing RPC
  14. User Interfaces with Tk
  15. GUI Example: Man Page Viewer
  16. Template-Driven Code Generation
  17. Extending Perl: A First Course
  18. Embedding Perl: The Easy Way
  19. Perl Internals
Advanced Perl Programming, 2nd Edition
by Simon Cozens
June 2005
O’Reilly Media, Inc.
ISBN 0-596-00456-7

This book covers advanced Perl techniques in detail. It is appropriate for someone who has several years’ experience with Perl and is creating production-quality software.

The book’s chapters are:

  1. Advanced Techniques
  2. Parsing Techniques
  3. Templating Tools
  4. Objects, Databases, and Applications
  5. Natural Language Tools
  6. Perl and Unicode
  7. POE
  8. Testing
  9. Inline Extensions
  10. Fun with Perl
CGI Programming with Perl
2nd edition
by Shishir Gundavaram, Scott Guelich, and Gunther Birznieks
July 2000
O’Reilly & Associates, Inc.
ISBN 1-56592-419-3

This book is essential for anyone using Perl for CGI programming.

Intermediate Perl
by Randal L. Schwartz, brian d foy, and Tom Phoenix
March 2006
ISBN 0-596-10206-2
OReilly Media, Inc.

Intermediate Perl is the new edition of what was formerly named Learning Perl Objects, References, and Modules, by Randal L. Schwartz.

The price (US $40) is high for a book that has only 256 pages. The cover proclaims “Foreword by Damian Conway”, but the Foreword was written in May, 2003, is only a page long, and doesn't add anything useful.

Many of the examples in the book refer culturally to the television series Gilligan’s Island. Baby Boomers, unfortunately, will have no problem with references to the Minnow, the Professor, and coconuts, but I wonder if younger readers have the background. Couldn’t the authors come up with something a little more 21st century?

The book’s chapters are:

  1. Introduction
  2. Intermediate Foundations
  3. Using Modules
  4. Introduction to References
  5. References and Scoping
  6. Manipulating Complex Data Structures
  7. Subroutine References
  8. Filehandle References
  9. Practical Reference Tricks
  10. Building Larger Programs
  11. Introduction to Objects
  12. Objects with Data
  13. Object Destruction
  14. Some Advanced Object Topics
  15. Exporter
  16. Writing a Distribution
  17. Essential Testing
  18. Advanced Testing
  19. Contributing to CPAN
Learning Perl
3rd edition
by Randal L. Schwartz and Tom Phoenix
July 2001
O’Reilly & Associates, Inc.
ISBN 0-596-00132-0

I used this book as a reference when I taught beginning Perl to scientists at Cereon Genomics. This is an excellent book for learning Perl. I learned a few new things while reading this book, but an experienced Perl programmer does not need this book.

The 4th edition was published in July, 2005.

Object Oriented Perl
by Damian Conway
August 1999
Manning
ISBN 1-884777-79-1

This is my favorite Perl book, and this book made it easy for me to switch to object oriented Perl, which I use exclusively these days. You will not need all the information in this book, but all of the information is useful. Chapter 2, a Perl refresher, clearly explains many Perl obscurities, and this chapter alone is worth the price of the entire book.

This book is now out of print, but it’s available from the Manning Publications Co. web site as a PDF ebook.

Perl Best Practices
by Damian Conway
July 2005
O’Reilly
ISBN 0-596-00173-8

This book serves as the basis for coding standards in my current job.

The book’s chapters are:

  1. Best Practices
  2. Code Layout
  3. Naming Conventions
  4. Values and Expressions
  5. Variables
  6. Control Structures
  7. Documentation
  8. Built-in Functions
  9. Subroutines
  10. I/O
  11. References
  12. Regular Expressions
  13. Error Handling
  14. Command-Line Processing
  15. Objects
  16. Class Hierarchies
  17. Modules
  18. Testing and Debugging
  19. Miscellanea
Perl Cookbook
by Tom Christiansen and Nathan Torkington
August 1998
O’Reilly & Associates, Inc.
ISBN 1-56592-243-3

Your Perl problem has probably been solved before, and this is the first place to look for a solution.

The 2nd edition was published in August, 2003.

Programming Perl
3rd Edition
by Tom Christiansen, Larry Wall, and Jon Orwant
July 2000
O’Reilly & Associates, Inc.
ISBN 0-596-00027-8

This is the ultimate authority on Perl. I find this book useful as a reference, but you won’t be able to learn how to code in Perl by reading this book. Some of the witty comments in previous editions have disappeared from the 3rd edition.

Programming the Perl DBI
by Alligator Descartes and Tim Bunce
February 2000
O’Reilly & Associates, Inc.
ISBN 1-56592-699-4

This is the essential guide to using Perl to interact with databases, Excel spreadsheets, DBM files, etc. A weakness of the book is that there aren’t enough examples.

XML and Perl
by Mark Riehl and Ilya Sterin
2003
New Riders
ISBN 0-7357-1289-1

This book leads the reader through the uses of the most popular Perl modules for processing XML.

The book’s chapters are:

  1. Basics of XML processing in Perl
  2. Now let’s start digging
  3. Event-driven parser modules
  4. Tree-based parser modules
  5. Generating XML documents from text files
  6. Generating XML documents from databases
  7. Transforming miscellaneous data formats to XML (and vice-versa)
  8. XML transformation and filtering
  9. AxKit
  10. Perl and XML web servers