I had a hard time characterizing this wonderful book. It explains the fundamentals, but it's not an introductory book like Learning Perl. It covers almost every feature of the Perl 5 language, but it's not a reference book like Programming Perl. It explains common idioms, but it's not a guide to Perl 5 fluency like Effective Perl Programming. It contains many practical suggestions, but it's not a book of tips like Perl Hacks.
I can only describe it as a "textbook". If I had to pick a single book to teach Perl 5, this is the one I'd choose. As I read it, I was reminded of the first time I read K&R (C Programming Language) and how much learning was packed into it. (It's the only college programming text I still have). In a slim 250 pages, Modern Perl obsoletes most of my shelf of Perl 5 books. It's not intended for a complete novice to programming (any more than K&R was), but in the hands of a competent programmer or a diligent student it will teach everything that one needs to know to write Perl 5 well.
What I especially like about Modern Perl is that it puts particular emphasis on understanding fundamental Perl 5 concepts like "context" and "scope". From these and other foundations, one can understand why certain programming idioms have emerged and one can avoid surprises in the odder corners of the language. If you want a book to spoon feed cut-and-paste code to you, this is not the book for you. If you want a book that will teach you to write your own code confidently, this is an excellent resource.
If you already know some programming and want to learn Perl 5, then Modern Perl is the book you should get. If you already know Perl 5, but don't think you know it well, or if you haven't kept up in developments in Perl 5 since the late 1990's, then Modern Perl will get you up to speed.
- Nothing to see here
- Paying respect to Module::Build
- How I manage new perls with perlbrew
- Anyone want vanillaperl.com?
- OODA vs technical debt
- Why the latest File::Temp might surprise you
- The Annotated Lancaster Consensus
- Perl QA hackathon 2013 wrapup
- CPXXXAN is SexPAN
- UNIVERSAL::new for command line MU
- How I've started managing GitHub pulls
- The GitHub pulls scoreboard says I'm losing
- How to mass-favorite modules on MetaCPAN
- No more copy and paste: How to refactor tests with roles
- Stop Pod tests before they stop you!
- Adam M Dutko: Doh! Just updated pause. Please try again.
- Michiel: Great, that failed. Please contact ME on my cpan address :D The error that the other server returned was:...
- Michiel: You have received an email on your cpan email address.
- Adam M Dutko: Michiel, I am transferring the .com right now. Can you contact me so we can arrange transferring the...
- Karen Etheridge: > Perhaps switching over to it would be work, but a replacement has been written, and it was...
- Moritz Onken: Bash completion for cpanm and cpanf
- CPAN Testers' CPAN Author FAQ
- Ricardo SIGNES (rjbs): Will your perl remain supported -- and what does that mean?
- Why I Stuck With Perl
- chromatic: What Else a Method Keyword Could Do
- The Puneet of the Dancer Community
- Know your character classes under different semantics
- f00li5h: dzil: a casual walkthrough of Dist::Zilla
- SmartGit - Finally a Window git client that doesn't suck
- Sinan Unur (Sinan): An Economic Perspective on Marketing Perl
- June 2013
- May 2013
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- April 2012
- February 2012
- January 2012
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009