tags:

views:

202

answers:

5

Pretty simple, I don't want an introduction that introduces me to the concepts of loops, arrays, etc. I want a book that "gets into" perl right off the bat and is up to date enough for me to follow the conventions of modern perl use. Format doesn't matter, book, pdf, online tutorial, etc. I'd also prefer for it to be short. I can get around to the Camel book eventually, but I'd like a dense, terse, and up-to-date primer on perl.

I checked out Impatient Perl and Learning Perl the Hard Way, but they are pretty old. Does this matter?

+5  A: 

There are two good choices I think. Firstly chromatic's Modern Perl Book is available as a download, and will be available in dead tree in due course. Secondly, the only primarily dead tree book that I know about with an emphasis on Modern Perl is my book on Catalyst, which contains quite a lot of advice on modern perl programming - direct advice at the beginning, more integrated into the Catalyst web framework in later chapters. Perl best practices is also excellent, but could do with a revision at this point in its life.

singingfish
+5  A: 

I don't know of a book or tutorial that meets all your criteria.

  • You aren't going to learn modern Perl from Impatient Perl or Learning Perl the Hard Way. (Actually, even the Camel, classic or not, doesn't qualify as modern Perl in many ways. Then again, there's a reason people still recommend K&R for C, right?)
  • Learning Perl isn't for the complete beginner, but you would need to read that and Intermediate Perl to get a running start. (Learning Perl doesn't cover references, OO Perl, writing modules or testing all of which you are likely to want.)
  • One thing you may find is that anything short simply won't get you as far as you want. Perl is a very large language, so a smaller book can jump into parts of it, but you will still be reading further for some time to come.

You might take a look at chromatic's Modern Perl and follow that up with Effective Perl Programming.

Telemachus
+7  A: 

What you want


Simple Topics


The Camel book. It's been the definitive guide for many many years - and there have been updates to the book, so be careful to see that you're getting the latest version.

If the Camel book does not meet your needs, you should invest time into online tutorials. Additionally, Perl6 is around the corner. While the Camel book may teach you the core concepts of Perl, it may not include some of the more recent additions that Perl6 has to offer.


Advanced Topics [my pick]


Higher-Order Perl by M J Dominus
http://hop.perl.plover.com/book/

Not only is it written by someone who's written many Perl modules, but it gets into memoization, recursion, callbacks, caching; it's not meant for the beginner programmer like the Camel book is.

Best of all: it's free.

Goto the website above. You can legally download the whole book above. It's written w/ LaTeX, so the pages look exactly as the book would, if you bought it (you can purchase the book at retail stores for around $50-$80). There are even two versions, one has the margins, which allows you to cut the pages down to the actual book size, the other just makes the font bigger to fit an 8x11 sheet of paper.

A co-worker had this treasure on the shelf and I stole it :)


Things to consider


  • Books are static, webpages change - good, updated, online tutorials adapt to the changes and thus are a good first stop for answers to questions, or examples

  • Perl is a vast language. C has it's many library/header files and Perl has it's Modules. It is easier to learn something when you have a specific task in hand, that way you can become familiar with the best module to use and familiar with the language through the module's examples.

vol7ron
I agree. This is *the* book to get, and not just for Perl programmers.
Pedro Silva
*Higher Order Perl* is an excellent suggestion. One note about the Camel: it hasn't been updated since 2000, and I think it targets Perl 5.6. So it really *isn't* up to date.
Telemachus
That's true. I think the standard now is 5.10, even though 5.12 is available - 5.6 is kind of dated, but for beginning Perl, Camel is still not bad.
vol7ron
I should add that the author does allow for donations through the site, which even though the book is free, give donate what you see fit and can afford.
vol7ron
A: 

I have been reading this book , Practical text mining with Perl by Roger Bilisoly . It does not have the cliche array , loop explanantions but concentrates more on text mining and using regular expresssions in perl. Turned out a really useful book for me.

MIkhail
I had a look at this book a while back. While there's some useful stuff in there, it really doesn't encourage good perl programming practice - starting with use warnings and strict!
singingfish
true , but it really helped me with regexes and text mining. Why i suggested it , was bcos , i tend to like books that start with a steep learning curve and goes at a good pace. Once a person has learned any programming language , he would know the basics of arrays or lists , so those books for beginners would be a bore for him . I would always reccommend books based on practical approach. But yeah , it does not advertise good practice. Thats not advisable .true.
MIkhail
A: 

I'm currently trying to learn "modern Perl".

Just like many topics about Perl, there seems to be more than one "modern Perl". If you already know about arrays, hash, references and basic object system, you might want to take a look at the Moose manual on CPAN which contains very good docs, manuals, tutorials, cookbooks:

I like Damian Conway's Perl Best Practices even if I was quite puzzled when I discovered the inside-out objects in chapter 15.

Always on my desk:

  • Perl Hacks, Tips & Tools For Programming, Debugging, and Surviving by chromatic, Damian Conway & Curtis "Ovid" Poe
  • Perl Testing, A Developer's Notebook by Ian Langworth & chromatic
  • Higher-Order Perl by Mark Jason Dominus (lots of algorithms implemented in a very perlish way, food for thought)
the_dude