Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

davido

by davido (Cardinal)
on Aug 05, 2003 at 19:52 UTC ( [id://281137]=user: print w/replies, xml ) Need Help??

David Oswald

Senior Principal Engineer at Newfold Digital (formerly Endurance)

The remainder of this node is outdated.

Salt Lake City Perl Mongers

Tools

Other places you may find me...

My Perl Book Library

All Perl books below are recommended unless otherwise noted.

Name Nickname Des‎crip‎tion
Learning Perl The Llama book Start here! You can't do better than this for an introduction to Perl
Intermediate Perl The Alpaca book Previously known as Learning Perl Objects, References, and Modules. The current edition of Intermediate Perl also takes on topics such as testing, building a distribution, and contributing to the CPAN.
Programming Perl The Camel book This book at one time was the source for learning Perl inside and out. The 3rd Edition is based on Perl 5.6. A lot has changed since then. While I still consider this book recommended reading, you might buy used for now, and get a shiny new copy when the 4th Edition is published.
The Perl POD The Documentation Perl's documentation (the Perl POD) is the most up-to-date source of information on Perl. It's easy to use, and comes free with every Perl distribution. Every aspect of Perl, and every CPAN module is documented with POD. It is required reading.
Mastering Regular Expressions The Owls book This book covers Perl's regular expressions, but has also been expanded to cover those of several other languages as well. I cannot speak highly enough of this resource as a means of really understanding Regular Expressions.
Advanced Perl Programming The Panther Book I wouldn't characterize this as an advanced syntax book, it's an advanced topics book. It provides discussions on templating tools, introspection and the symbol table, Unicode, POE, testing, and a wide range of other topics. It is pretty valuable as a resource for introducing some of Perl's extended capabilities. I'm glad I read it, as it helped to open up concepts I hadn't previously considered. Note: 1st and 2nd editions are quite dissimilar.
The Perl Cookbook The Bighorn Sheep book This book is great for showing how to get things done with Perl.
Programming the Perl DBI The Cheetah book You don't have to look far these days to see databases being used alongside Perl. Perl's DBI module is where you start, and this book is how to do it. It also covers Class::DBI, but not the newer DBIx::Class. It's a worthwhile read despite its age.
CGI Programming with Perl The Mouse book So much has changed in the world of Web programming since this book was published in 2000. But even if you jump in headfirst with frameworks, you still will probably need an understanding of the Common Gateway Interface. If web development is your thing you owe it to yourself to pick up a copy (even if it's used). Topics include the CGI module, maintaining state, sessions, and security. If you buy one CGI book, buy this one. There are a lot of lousy choices out there. This book is won't lead you astray.
Mastering Algorithms with Perl The Wolf book There's a reason universities offer degrees in Computer Science as opposed to just Computer Programming. Effective programming is only possible if one has a solid understanding of the science of computing, and that includes a firm grasp on algorithms both in theory, design, and implementation. This book is an excellent resource for learning how to think like a Computer Scientist, and how to apply those principles with Perl.
Perl Best Practices The American Staghound book If every programmer read this book before diving into a project the world would be a better place. You may not agree with all of the "best practices", but at least this book will challenge you to consider how to develop clean, well written, maintainable code. This goes hand in hand with the Perl::Critic family of modules. Recently I was in the offices of a well-known web based company. One cubicle had a computer monitor propped up by two barely used door-stop-thick programming books (not on my list). Perl Best Practices was sitting right next to the mouse, well worn in, its pages darkened by the inevitable grime of heavy use. That just about says it all.
Automating System Administration with Perl The Sea Otter book A large part of Perl's success is its adoption by system administrators as a means of making their lives easier. Perl comes with every major Linux distribution, and is available for just about every major operating system in use today. Its ubiquity, flexibility, and panache for rapid development make it an obvious go-to tool for sysadmins. (In other words, I read it so long ago I don't remember what I really liked about it.)
Perl in a Nutshell The Dromedary Camel book This is a pretty good desk reference, which is what O'Reilly's "Nutshell" books aim to be. The best thing about this book is that it gives a sort of crash course in a lot of important topics such as LWP, DBI, CGI, and others. Its current edition is a little outdated, so buy used. I found it useful, but don't recommend it as a top tier book.
Perl and XML The West African Green Monkeys book Perl is most useful if you learn to use it with other common tools. XML is not a lot of fun, but it's here, it's everywhere, and Perl's good at dealing with it thanks to an array of CPAN modules. This book is actually a better read than you might expect given the subject matter.
Modern Perl   Perl has evolved into a modern and mature programming language. Learn about the Perl Community, modern Regexp topics, Perl's new Moose object system, and more. Though the book discusses many topics of beginning to intermediate level, I don't see it as an introductory book. It's more like a book to help people who already know some Perl to become more 21st-century in their approaches. My preference: The Kindle edition.
Perl Testing: A Developer's Notebook The Coffee Stain Book? I stumbled across this book when I was seeking a greater understanding of Test Driven Development. What a great book. It's an easy to use resource on testing. Two weeks after finishing reading it I saw it being recommended by the Thousand Oaks Perl Mongers group as part of a presentation on TDD too.
Higher Order Perl   Loved the chapters on memoization, currying, callbacks, closures, iterators and streams. The lexing and parsing chapters were a little painful, but gave me a degree of confidence in areas that previously were weak for me. A fantastic book, covering advanced topics in functional programming.
Mastering Perl   I enjoyed this book, and found much of brian's advice well thought-out. A major sub-theme: You're a grown up now: Figure it out. That's good wisdom.

My Non-Perl Book Library

Choose as interest or need arises.

Name Nickname Des‎crip‎tion
HTML & XHTML: The Definitive Guide The Koala book For me the definition of eternity is reading a book on HTML. But we can't escape it, and since we've got to know at least a little HTML, this is the one book to own on the topic. My condolences. There's nothing wrong with the book, though it doesn't cover HTML5 yet. But studying HTML is less exciting than watching a sloth race. Hmm.... the Sloth book? ;) Not a Perl recommended book.
JavaS‎crip‎t: The Definitive Guide The Rhino book Yes, I'm sorry, you do have to learn some JavaS‎crip‎t in this imperfect world of ours too. And here's the one book you must get through on the topic. Not a Perl recommended book.
Learning MySQL The Blue Spotted Crow Butterfly book MySQL is found on most modern Linux distributions, and is available for many other platforms as well. While PostgreSQL is emerging as a more capable alternative, MySQL databases are everywhere. You can limp along, or you can really learn to use it. Topics include installation, maintenance, MySQL's flavor of SQL, as well as constructing joins and other more complex manipulations. I found the book helpful, though I still am looking for more.
A Practical Guide to Ubuntu Linux   I needed to get familiar with Ubuntu Linux, looked for a book that had a good Amazon rating, and came up with this one. In addition to basic Linux use and administration, it also covers setting up Apache, MySQL, an SSH server, and so on. It's a pretty good book, though not directly related to Perl. Not recommended as a Perl book.
MySQL Pocket Reference   After reading Learning MySQL I found that I was constantly needing to refer to the MySQL online documentation. But the online docs aren't all that easy to navigate, and often spread the information I need between several pages. This book was the answer; a concise reference.
Starting Out With C++: Early Objects   It's a text book. It's reasonably thorough. It's dry. Way overpriced. Not recommended.
C++ Pocket Reference   Hey, $5.00 on sale in digital format from O'Reilly: I couldn't say no. It's not terribly useful though. ;)
C++ Primer   This one is actually a good read, if you must read about C++. It even gets mentioned in Mastering Perl. (Update: a couple years later the newest edition that covers C++11 is still one of my favorite C++ books.)
C++ Primer Plus   Seems like it took forever to get through. It is disorganized, and poorly written.
Effective C++   Excellent. So much so, I just had to buy the two sequels.
More Effective C++   Great, like the first from the series. These sort of remind me of PBP.
Effective STL (C++)   Full of really helpful advice. Probably my favorite of the "Effective" series.
Version Control with Git (1st & 2nd Editions) The bat book I wish I had read this book a long time ago. But I wish I had read Pro Git first. It's an excellent treatment of getting the most out of git. I highly recommend it. However, be aware that it was written before github.com, so there is no discussion directly tailored to working with github.
Pro Git   This book is available on github for free. While Version Control with Git is a very good book, I recommend reading Pro Git first. It does cover github.com.
C in a Nutshell   Not really the kind of book designed to be read cover-to-cover, but I did. It's a very good C reference. It's not a book on how to program with C.
C++ in a Nutshell   Another book designed not to be read cover-to-cover. And it's not intended to teach C++. What it does is provide a great reference on the language in an easy to look up format.

My (outdated) To-Do list of reading

  • Structure and Interpretation of Computer Programs (done)
  • Object Oriented Perl (done)
  • The Definitive Guide to Catalyst (done)
  • Perl & LWP
  • Windows Programming with MFC (done, unfortunately)
  • Extending and Embedding Perl
  • Learning Vi and Vim (done)
  • Perl Hacks (done)
  • High Performance SQL (done)
  • Mastering Perl 2nd, ed (Done. No surprises. A decent read.)
  • MongoDB: The Definitive Guide (Done)
  • RESTful Web APIs (Done)
  • Version Control with Git, 2nd Edition (Done. Adds info on GitHub)
  • Practical C Programming (done)
  • Understanding and Using C Pointers (done. No real revelations)

Lately I've been using my Kindle for reading, and while it's mostly a positive experience I find it frustrating that some of the books out there on Perl are only available in non-Kindle-friendly formats. In particular, PDF is a poor format for eBook readers as it doesn't do well with small screens. Examples include Higher Order Perl, and The Definitive Guide to Catalyst. And converting PDFs to eReader formats seems to be unreliable. I am happy to buy books in .mobi format, but usually run the other way when I see .pdf as the only option. Higher Order Perl is an exception to the rule; I would read that on papyrus or stone tablets if I had to -- it's that good.

I doubt that many authors or publishers will find this node, but if you happen to be an author or publisher, I really encourage you to support modern digital book formats such as ePub and mobi, and let pdf die a slow death. If you're an avid reader and care about digital formats for books, please be sure to express your interest by emailing publishers when you find that a book you want to read isn't available in a e-reader-friendly format. It actually works sometimes (particularly with O'Reilly).


08/05/2003 - L1: New account. 10/26/2003 - L10. 01/04/2004 - T100. 02/02/2004 - T75. 04/01/2004 - T50. 05/12/2004 - 10000XP. 05/15/2004 - T40. 07/17/2004 - 1000Posts. 07/18/2004 - T35. 08/05/2004 - 1 Year, 12945XP, T34, 1060Posts. 08/29/2004 - T30. 12/10/2004 - T25. 05/31/2005 - 20000XP.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (5)
As of 2024-12-02 17:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found