The Perl Book Buying Guide - Composite Listing

(Sorted by Rating and Title)
Title:Effective Perl Programming: Writing Better Programs With Perl
Author(s):Joseph N. Hall
Audience:Intermediate    Advanced    Rating:     
Publication Year:1998Publisher:Addison-Wesley Pub CoISBN:0201419750
Comments:General Comments
I've been programming Perl for 5 years now. Although I was late switching over to Perl 5, I consider myself to be an advanced (although by no means expert) Perl programmer.

I learned so much from this book -- it was fun and exciting!! Honestly, it's what got the train rolling for this whole book guide. Here was a book I bought on a lark and then let languish on my shelf for a couple of weeks before finally picking it up. Then I couldn't put it down. As soon as I finished, I started re-reading it. It's that good, and I'd never heard of it before.

Very similar in concept and quality to Scott Meyer's Effective C++, this book will teach you more about the little things in the language than you thought possible for a book under 300 pages. Idiomatic Perl expressions, tricks, tips & trivia; the usefulness of this book is extreme! For the first time, I understand the real difference between my and local!

From the back of the book's cover: "Geared for programmers who have already acquired Perl basics, this book will extend your skill range, providing the tactics and deeper understanding you need to create Perl programs that are more elegant, effective and succinct." I couldn't have said it better.

The book is broken into 60 Items, with each Item being a discussion topic. Some examples include "Item 9: Know common shorthands and syntax quirks", "Item 24: Avoid using @_ directly -- unless you have to", and "Item 50: Understand method inheritance in Perl". The authors talk comprehensively about each topic, using many examples and code snippets.

After learning the basics, this is the book that will help you to kick it up a notch (as Emeril would say!). Like no other book, it will teach you the best way to program Perl. It also explains the ins and outs and the whys of the language. By the time you're done with this one, you'll be well into the Intermediate level!

Intermediate & Advanced
This is the book that will refine you programming skills, taking you from a hack with language knowledge to a programmer with an understanding of the language (not that there's anything wrong with hacking...).

Title:Perl Cookbook: Tips and Tricks for Perl Programmers
Author(s):Tom Christiansen & Nathan Torkington
Audience:Beginner    Intermediate    Advanced    Rating:     
Publication Year:1998Publisher:O'Reilly & AssociatesISBN:1565922433
Comments:General Comments
This is a fun book for me, much the same way Effective Perl Programming is. It's chock full of useful tidbits, one-liners and full scripts. Some of the stuff I knew already, but I learned something from each section, even if it had nothing to do with the main topic. And I like that in a book (go figure).

This book grew out of two chapters in the first edition of Programming Perl: Chapter 5, "Common Tasks in Perl" and Chapter 6, "Real Perl Programs". I turned to those chapters often for help with a particular task, and still do now when I can't find my copy of this book (invariably it's at home when I need it at work and vice versa).

Those chapters were dropped in the Camel re-write, with the idea that they could and would be a whole book in and of themselves. From those two chapters of ~150 pages comes this book of almost 800 pages! Coming 2 years after the re-write, it was worth the wait! Between this book and the Perl FAQ, all of your most common how-to type of questions will be answered.

This book is broken up into 20 chapters, with 15-25 sections per chapter. Each section represents a different aspect of the topic being dealt with in the chapter, with lots of cross-references between topics within the book, as well as to pages in Programming Perl and Perl man pages. Every section has one or more code examples, and each chapter has a full-blown program or two combining many of the concepts talked about in the chapter.

Beginner, Intermediate & Advanced
Everyone except the most advanced Perl programmer will find this book useful. In addition to being easy to read, its well thought out layout lends itself to use as a reference text quite well.

Title:Programming Perl
Author(s):Larry Wall, Tom Christiansen & Randal L. Schwartz
Audience:Beginner    Intermediate    Advanced    Rating:     
Publication Year:1996Publisher:O'Reilly & AssociatesISBN:1565921496
Comments:General Comments
The grand-daddy of all Perl books, now in it's second edition! This is the quintessential Perl reference guide, written by the language's principal author (Larry Wall) and co-written by two of the Perl community's leading authorities (Tom Christiansen & Randal Schwartz). No collection of Perl books should be missing this one!

While some could compare this to Ellis & Stroustrap's The Annotated C++ Reference Manual, I think it more closely resembles Lipmman's C++ Primer, more of a useful reference than a technically complete one.

I find this book most useful when I come across some feature of the language someplace else, and just need a little more info on the implementation and intended usage. Although a lot of this info can be found in the man pages, I personally prefer printed material. And there's quite a bit more here in the book than there is online (but then, the online docs are more up-to-date). YMMV, of course!

The book is broken up functionally into 9 large chapters. The second chapter covers most of the core programming language, from basics like data types and operators, to regular expressions and formats. It's definitely a "jump right in" kind of book. There are also chapters covering all of the Perl built-in functions and standard Perl library, as well as chapters on more advanced topics like references and packages.

This book is a good first book for beginners who have experience in other programming languages, and with common tools found on Unix systems (such as awk, sed, sh, grep, etc.). You also need to be a good self-teacher.

If you don't have a lot of other programming experience, or are unfamiliar with Unix tools, I'd suggest starting with Learning Perl or Learning Perl on Win32 Systems, as they will ease you into Perl programming in general, and Unix tools. Note: please don't read too much into the "Unix tools" thing mentioned. Perl is a very cross-platform language, more so than most. But, it has definite roots in Unix, and to those with little or no Unix experience, concepts like regular expressions or simple statements like "open(IN, 'ps |')" could seem baffling!

Intermediate & Advanced
If you haven't bought Programming Perl yet, you probably should. It will help answer the low-level, really nasty, splitting hairs type of questions that keep programmers up at night.

Title:Mastering Regular Expressions: Powerful Techniques for Perl and Other Tools
Author(s):Jeffrey E. Friedl & Andy Oram
Audience:Beginner    Intermediate    Advanced    Rating:    ½
Publication Year:1997Publisher:O'Reilly & AssociatesISBN:1565922573
Comments:<comments coming soon!>

  Title:Perl FAQ
Author(s):Tom Christiansen and Nathan Torkington
Audience:Beginner    Intermediate    Advanced    Rating:    ½
Publication Year:currentPublisher:CPANISBN:PerlFAQ
Comments:General Comments
It's free and accurate! It should have come with your Perl distribution (if not, get it from a CPAN site near you). Maintained by the authors of Perl Cookbook.

True to its name, this is a Frequently Asked Questions list, with many useful and accurate answers. Broken out into 9 major sections and several sub-sections, the FAQ answers hundreds of questions (almost 400!). It's well indexed and fairly easy for a novice to look up questions. This is a great place to turn to when looking for the answer to a question. It's also the first place to turn before posting a question to comp.lang.perl!

Beginner, Intermediate & Advanced
It's great for reference (and it's free!), especially if you haven't bought Perl Cookbook yet.

Title:Learning Perl
Author(s):Randal L. Schwartz & Tom Christiansen
Audience:Beginner    Rating:    
Publication Year:1997Publisher:O'Reilly & AssociatesISBN:1565922840
Comments:<comments coming soon!>

Title:Learning Perl on Win32 Systems
Author(s):Randal L. Schwartz, Erik Olson & Tom Christiansen
Audience:Beginner    Rating:    
Publication Year:1997Publisher:O'Reilly & AssociatesISBN:1565923243
Comments:<comments coming soon!>

Title:Perl in a Nutshell: A Desktop Quick Reference
Author(s):Ellen Siever, Stephen Spainhour & Nathan Patwardhan
Audience:Beginner    Intermediate    Advanced    Rating:    
Publication Year:1999Publisher:O'Reilly & AssociatesISBN:1565922867
Comments:General Comments
There is no better way to describe this book than "Perl in a Nutshell"! It seems to very nicely sum up most things Perl, providing a hard-copy alternative to the Perl man pages. Indeed, most of the info can be found in the man pages, so if you're good with using on-line docs for learning or as a reference, then you probably don't need this book.

I do enjoy books, though. Sometimes if all I need to do is look up the arguments for a particular function, then I'll just zip over to the on-line docs. But if I need to refresh myself on something which I use very infrequently, formats for example, then I'd much rather have a book to thumb through. Don't ask me why, it's just the way I am.

In addition to documenting the standard modules, this book also provides some reference for two commonly used modules, and DBI. I'm not partial to either one of those modules myself, but most people use them. If you're looking for in-depth info on, check out Official Gide to Programming with Also, there are reportedly two new DBI books due out Real Soon Now.

Finally, the book ends with decent reference sections for Network Programming (sockets, FTP, HTTP, email, etc.), Perl/Tk and Win32 specific modules. It explains some aspects of the topic at hand with a 1/2 page or two pages of text, but mostly it show the methods and fuctions with their arguments, and a brief description. More detailed references exit for the Win32 modules (Win32 Perl Programming) and one on Perl/Tk is due out sometime soon..


Just as with Programming Perl, though, this book is only good for beginners who are familiar with programing in general and common Unix tools (sed, awk, grep, etc.). For example, the Regular Expressions section never really explains what they are and why you would use them; it merely tells you what tools are available and how to use them. If you're comfortable with your other programming skills and are a good self-learner, this is a good book. If not, then I'd suggest one of the Learning books instead (Learning Perl or Learning Perl on Win32 Systems).

Intermediate & Advanced

Title:Win32 Perl Programming: The Standard Extensions
Author(s):Dave Roth
Audience:Beginner    Intermediate    Advanced    Rating:    
Publication Year:1999Publisher:Macmillan Technical PublishingISBN:1578700671
Comments:Important Note
Just to be up-front about it, I was a technical reviewer for this book. Despite this, I feel that I can give an unbiased assessment of it.

General Comments
In general, I like this book. It fills a gaping hole in the Win32 Perl world, as most of the standard extensions are not documented well. Important things are missing from the documentation, like acceptable values for constants, return values, etc.; very basic stuff. And most of the standard extensions simply wrap the Win32 API C/C++ calls directly, so naming and usage are very confusing and very, very un-Perl-like. Because of this, a book such as this one has been needed for quite a while.

Ultimately, I'd love to have someone create a set of extensions that do what the standard ones do, but which are consistent with each other and use standard Perl idioms. Until then, we'll need a translator, which Dave has provided. Unless you're coming from a Win32 API background, you'll be lost without this (at least I was). And if you are coming from a Win32 background and are just learning Perl, this book may help speed the process along, showing you how to do things you're already familiar with, but in a new language.

The technical information in this book is invaluable if you're trying to learn the extensions. As I mentioned above, the existing documentation is horrible, with lots of important information missing. Dave has researched the underlying API calls and exposed the stuff that, unfortunately, needs to be exposed, given the nature of the extensions.

Dave also explains how things operate in a Win32 world, at times contrasting it to the way things work in a Unix world. Not only does he explain how to find a PDC, he explains what one is. Not in exhaustive detail, but enough that if you're already somewhat familiar with the topic, you'll come away with a better understanding of it.

That said, I don't quite like the narrative style of the book. I'm more of a straightforward reference kind of guy. A list of function names, arguments, return codes, error conditions, etc., in a nice table format would suit me just fine. Or maybe have the narrative stuff up front in the chapter, with the detailed reference at the end. Having it all mixed together is somewhat distracting for me. In the end, though, the information needed is there; you just have to look a little to find it.

The core audience for this book is the NT sysadmin who is yearning for an easier way to do his/her job. The possibilities for automating administrative tasks using Perl are almost endless. If you're tasked with keeping your NT-based IT systems happy, healthy and secure, using Perl and the standard extensions will make your life much easier.

The book consists of 11 chapters and 3 appendices. This is a large book: 600+ pages. There are 3 large chapters on the administration of just about anything you can think of (networks, machines, domains, servers, users, the Registry & Event Viewer, shared resources, printers, files ACLs and shortcuts, just to name a few). There are also chapters on interfacing with OLE, IPC in the Win32 world, database access (primarily focusing on Dave's own Win32::ODBC module), and more. The appendices include a module reference section (not quite what I wanted, but it'll do), more detailed (and somewhat esoteric) Win32::ODBC information, and a list and explanation of Win32 Networking errors.

This book doesn't teach you Perl, nor does it teach you how to program. It assumes at least a basic understanding of Perl and its data types (scalars, arrays and hashes). Most of the standard Perl extensions don't use references or other advanced concepts, so if you have a basic understanding of Perl, you should do fine. If you need more of a Perl primer, I'd suggest starting with Learning Perl on Win32 Systems.

Intermediate & Advanced
If NT system administration is your job, this book and the extensions it covers are for you! You'll probably be frustrated with the extensions themselves, and their very non-Perl way of doing things, but that's all the more reason to get this book.

Title:Advanced Perl Programming
Author(s):Sriram Srinivasan
Audience:Advanced    Rating:   ½
Publication Year:1997Publisher:O'Reilly & AssociatesISBN:1565922204
Comments:<comments coming soon!>

  Title:Perl man pages
Author(s):(too many to list)
Audience:Beginner    Intermediate    Advanced    Rating:   ½
Publication Year:currentPublisher:CPANISBN:PerlMan
Comments:General Comments
They're free, fairly complete and mostly accurate! They should have come with your Perl distribution (if not, get them from a CPAN site near you).

I'm mostly familiar with the man pages that come with the ActiveState distribution. They are available as POD files, which can be translated into HTML or real man pages, and installed in any of the three ways. They can be viewed with perldoc(1),
man(1) or a browser of your choice.

When viewed as HTML, they are a collection of ~40 core documents and ~250 module documents, crosslinked and indexed, with sometimes-cryptic names like "perllol", "perltoot" and "O". Once you get used to them, they're fairly easy to get around in, but it can be daunting at first.

These are great for reference, especially if you haven't bought Programming Perl yet. But it would be very difficult to learn Perl from just these pages unless you have a lot of programming experience and are an excellent self-learner. Instead, I recommend one of Learning Perl or Learning Perl on Win32 Systems or the aforementioned Programming Perl.

Intermediate & Advanced
These are great for reference (and they're free!), especially if you haven't bought Programming Perl yet.

Title:Perl Resource Kit - Win32 Edition
Author(s):Dick Hardt, Erik Olson, David Futato & Brian Jepson
Audience:Beginner    Intermediate    Rating:   ½
Publication Year:1998Publisher:O'Reilly & AssociatesISBN:1565924096
Comments:<comments coming soon!>

Includes 4 books and a CD-Rom

Title:Learning Perl/Tk
Author(s):Nancy Walsh
Audience:Beginner    Rating:   
Publication Year:1999Publisher:O'Reilly & AssociatesISBN:1565923146
Comments:General Comments
This book got some bad press when it first came out for being too repetitious. At the time I thought, both privately and publically on a couple of occasions, "Hey, it's supposed to be a Learning book; give the author a break!" Having read thru the whole book now, I'm more inclined to agree with the other folks.

If I were to write a book on Tk, I would assume that the person reading the book had some amount of experience programming in general, and programming Perl in particular, given the advanced topic (Tk). And the author says this in the Preface. However, I found the book to be very basic at times, too basic, almost to the point where it was insulting. Almost every widget chapter had 2-3 pages of the same methods being explained. And a lot of the examples repeated themselves 3-4 times. This is what a radiobutton looks like flat & grooved & rasied & ridged & sunken. And here's what it looks like flat with a border of 4, and grooved with a border of 4, etc., and repeated again for a border of 10.

That said, there is a lot of information in the book that seems to be hard to find at first in the on-line docs. I like to read a print-out or a book when I'm learning, and I like on-line docs for reference. This book does a decent job of presenting information so that people can learn it (after you wade thru the repititious parts). Personally, I wanted more information than the book gave (e.g. more widgets in general, more complex widgets), but that's really more appropriate for a reference guide. I wanted it, but I really can't fault the book for not having it.

My last major complaint is one where, again, I really can't fault the author. The book documents and describes Tk 400.202, while the current version is 800.008 (at least as I write this). The author explained that as the book went to press, the newer Tk came out. Almost everything she wrote pertains to both versions, and she made notes where there were version-specific differences. But it left me wondering whether or not there were features in the new version that I just don't know about (I'm sure there are; perhaps a couple of pages on this would have been good?).

All in all, I think this is a very difficult book to write. Trying to write a beginner's book about a topic that is not a beginner's topic is not an easy thing to do. If you want to learn Tk and you don't know a thing about it, the book is an OK way to go. Once a more comprehensive book comes out, though, this book will be strictly for those who are not good self-teachers.

The book has 16 chapters and 3 appendices. The first couple of chapters introduce Tk and some basic concepts of Tk programming. Eleven widget-specific chapters follow, with three more general/advanced chapters at the end. The appendices include one on OS-dependencies and one on fonts.

If you're new to Perl, I wouldn't start here. Try one of the Learning Perl books instead (Learning Perl or Learning Perl on Win32 Systems). If you know a little Perl and want to learn a little Perl/Tk, go ahead and give the book a try.

Intermediate & Advanced
Unless you need to learn Perl/Tk and you can't from the man pages, or you have a big budget, I'd skip this one. It's too basic & repetitious, and doesn't go into enough detail to create a full-grown app. Small one maybe, but not a big, production-ready app.

Title:Perl 5 Pocket Reference
Author(s):Johan Vromans
Audience:Beginner    Intermediate    Advanced    Rating:   
Publication Year:1998Publisher:O'Reilly & AssociatesISBN:1565924959
Comments:<comments coming soon!>

Title:Perl Resource Kit - Unix Edition
Author(s):Larry Wall, Nate Patwardhan, Ellen Siever, David Futato & Brian Jepson
Audience:Beginner    Intermediate    Rating:   
Publication Year:1997Publisher:O'Reilly & AssociatesISBN:1565923707
Comments:<comments coming soon!>

Includes 4 books and a CD-Rom

Title:MacPerl: Power and Ease
Author(s):Vicki Brown & Chris Nandor
Publication Year:1998Publisher:Prime Time FreewareISBN:1881957322
Comments:<comments coming soon!>

Title:Official Gide to Programming with
Author(s):Lincoln Stein
Audience:Beginner    Intermediate    Advanced    Rating:UNRATED
Publication Year:1998Publisher:John Wiley & SonsISBN:0471247448
Comments:<comments coming soon!>

Title:Perl/Tk Pocket Reference
Author(s):Stephen Lidie
Audience:Beginner    Intermediate    Advanced    Rating:UNRATED
Publication Year:1998Publisher:O'Reilly & AssociatesISBN:1565925173
Comments:<comments coming soon!>
Rating Scale:  = = Not Recommended,       = = Excellent!

[Return to The Perl Book Buying Guide]

All book covers, products, product names and company names are trademarks or registered trademarks of their respective companies.
Copyright © Joseph L. Casadonte Jr. 1998-9. All rights reserved.
The Perl Book Buying Guide - Comprehensive Listing / 06 September 1999 /

HTML 3.2 Validated!