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.
See Clubs
Loading your book clubs
There was a problem loading your book clubs. Please try again.
Not in a club? Learn more
Join or create book clubs
Choose books together
Track your books
Bring your club to Amazon Book Clubs, start a new book club and invite your friends to join, or find a club that’s right for you for free.
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Modern Perl
by
Chromatic
(Author)
{"desktop_buybox_group_1":[{"displayPrice":"$24.90","priceAmount":24.90,"currencySymbol":"$","integerValue":"24","decimalSeparator":".","fractionalValue":"90","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"JaXghNQ1tUInSpRVcBwz1sKKZSgCmQNgHZoB2Wwnfr6cT48m1RXPT3HLxUDnvAgOlxhnFzqFqUravlzpRzDLR7uZ%2BuC5NHCoTQ8C3HjMbB1aQY7%2FQyRj7n9EA7LhV4%2BYh1BcyhcA82bIbRIVdy4XPP8AB5HG3b8kIuiswLtfPZtEKTe4G2Q2j6CckC30hOMX","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}]}
Purchase options and add-ons
The Best Perl Programmers Use Modern Perl In 1987, Perl 1.0 changed the world. In the decades since then, the language has grown from a simple tool for system administration somewhere between shell scripting and C programming to a powerful, general purpose language steeped in a rich heritage. Even so, most Perl 5 programs in the world take far too little advantage of the language. You can write Perl 5 programs as if they were Perl 4 programs (or Perl 3 or 2 or 1), but programs written to take advantage of everything amazing the worldwide Perl 5 community has invented, polished, and discovered are shorter, faster, more powerful, and easier to maintain than their alternatives. They solve difficult problems with speed and elegance. They take advantage of the CPAN and its unparalleled library of reusable code. They get things done. This productivity can be yours, whether you've dabbled with Perl for a decade or someone just handed you this book and said "Fix this code by Friday." Modern Pe
- ISBN-100977920178
- ISBN-13978-0977920174
- PublisherOnyx Neon Press
- Publication dateDecember 7, 2011
- LanguageEnglish
- Dimensions5.98 x 0.61 x 9.02 inches
- Print length290 pages
Product details
- Publisher : Onyx Neon Press (December 7, 2011)
- Language : English
- Paperback : 290 pages
- ISBN-10 : 0977920178
- ISBN-13 : 978-0977920174
- Item Weight : 13.8 ounces
- Dimensions : 5.98 x 0.61 x 9.02 inches
- Best Sellers Rank: #6,977,606 in Books (See Top 100 in Books)
- #288 in Perl Programming
- #2,969 in Software Design & Engineering
- #8,322 in Computer Programming Languages
- Customer Reviews:
Important information
To report an issue with this product or seller, click here.
Customer reviews
4.1 out of 5 stars
4.1 out of 5
43 global ratings
How customer reviews and ratings work
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Reviewed in the United States on January 31, 2011
Reviewed in the United States on August 22, 2012
I was pleasantly surprised by "Modern Perl". The basic premise is: here we are in 2011 (well, now 2012), with lots of powerful Perl 5.16 core (and CPAN) modules at our disposal. Let's actually _use_ them to write robust, consistent Perl programs.
There's significant coverage of Moose (for doing OOP in an arguably superior way), all manner of popular and useful idioms, and a rather thorough exposition of Perl language features, shortcomings, and gotchas.
In my opinion, this is not a book for beginners. The reader should already have a rudimentary grasp of Perl, and at least a small bit of experience working with it.
All in all, beautifully done content. But please enlist an editor to review the Kindle edition, guys. Too many unnecessary typos. And it looks like footnotes did not get rendered properly as footnotes, instead appearing inline with the content they're supposed to annotate. Annoying.
There's significant coverage of Moose (for doing OOP in an arguably superior way), all manner of popular and useful idioms, and a rather thorough exposition of Perl language features, shortcomings, and gotchas.
In my opinion, this is not a book for beginners. The reader should already have a rudimentary grasp of Perl, and at least a small bit of experience working with it.
All in all, beautifully done content. But please enlist an editor to review the Kindle edition, guys. Too many unnecessary typos. And it looks like footnotes did not get rendered properly as footnotes, instead appearing inline with the content they're supposed to annotate. Annoying.
Reviewed in the United States on December 22, 2015
An excellent book that covers exactly what the title says. Personally, I find perl to be somewhat eccentric, and can never fully understand the language regardless of the book i'm reading, but this has been the best book so far at giving real world examples and explanations in plain english. If I had a need to learn perl i would start with this book and move on from there, but its more of a personal desire to understand it than necessity. Regardless, I would definitely recommend this book to anyone who is seriously trying to learn perl, especially because it is one of few books that focus on (again, the title) Modern Perl.
Reviewed in the United States on January 3, 2011
It is better explained than the other pearl book I have checked out which is not saying much. It still is not explained in a logical order, I think the books make learning perl harder than it needs to be. Might be OK if I already knew the basics of perl.
Reviewed in the United States on January 3, 2012
First, this book, at least in the Kindle edition, is very poorly edited. I don't think it's a kindle issue, because I'm not talking about the wretched formatting, lack of T of C in the kindle edition, because they only charged $3 for it.
But there are just too many things that are either code typos or explanatory sentences that don't make sense. A couple of examples:
1) The author is talking about auto-incrementing of strings, and says that "While ZZ9 becomes AA0, ZZ09 becomes ZZ10..." Nooo, ZZ9 becomes AAA0. Not a big deal, but typical.
2) There is an example of initializing an array with a list, such as:
my @cats = ( 'Daisy', 'Petunia', 'Tuxedo', 'Jack', Brad' );
The author then says: "Remember that the parentheses do not create a list. Without parentheses, this would assign Daisy as the first and only element of the array, due to operator precedence."
Huh? What's he trying to say? His point is that the parentheses are essential to creating the list, for the reason that he specifies, yet he says that they "do not" [ in italics] create a list.
3) In "Perl Best Practices", the author when suggesting a best practice, carefully explains why. This author just says "... prefer this way... " as though we are to take him at his word.
I'm not suggesting that this author doesn't know his stuff, just that there are too many obvious code errors in this that should have been caught, along with very poorly edited explanations. I realize that the examples above are trivial, but for just that reason they should have been caught.
But there are just too many things that are either code typos or explanatory sentences that don't make sense. A couple of examples:
1) The author is talking about auto-incrementing of strings, and says that "While ZZ9 becomes AA0, ZZ09 becomes ZZ10..." Nooo, ZZ9 becomes AAA0. Not a big deal, but typical.
2) There is an example of initializing an array with a list, such as:
my @cats = ( 'Daisy', 'Petunia', 'Tuxedo', 'Jack', Brad' );
The author then says: "Remember that the parentheses do not create a list. Without parentheses, this would assign Daisy as the first and only element of the array, due to operator precedence."
Huh? What's he trying to say? His point is that the parentheses are essential to creating the list, for the reason that he specifies, yet he says that they "do not" [ in italics] create a list.
3) In "Perl Best Practices", the author when suggesting a best practice, carefully explains why. This author just says "... prefer this way... " as though we are to take him at his word.
I'm not suggesting that this author doesn't know his stuff, just that there are too many obvious code errors in this that should have been caught, along with very poorly edited explanations. I realize that the examples above are trivial, but for just that reason they should have been caught.
Reviewed in the United States on June 19, 2013
I'm just starting to work in Perl after working in PHP (mostly with Drupal and WordPress) for 3 years. This book offers a fantastic introduction to a language that has a lot of history and culture supporting it. The writing style makes me feel like I'm sitting in a peer session with the author, and is very easy to digest. Make sure you follow along with the instructions, there's something special about actually typing along with an author vs trying to just read and remember. Get that muscle memory down :)
Thanks for writing such a fantastic book!
Thanks for writing such a fantastic book!
Top reviews from other countries
Luca Ferrari
3.0 out of 5 stars
Interesting
Reviewed in Italy on December 5, 2017
A set of best practices to program in a more modern and concise and correct way, a good reading for any Perl developer.
Stephane
5.0 out of 5 stars
Excellent ouvrage compte tenu de sa taille
Reviewed in France on June 9, 2014
Programmeur Perl depuis 1999, j'avais envie de réactualiser mes connaissances pour passer de la version 5.6 (où j'en étais resté avec le Camel Book de 2001) à la nouvelle version de 5.18...
Tout d'abord, l'ouvrage est structuré de manière classique (présentation du type de variables, des opérations logiques, etc...). Chacun des chapitres est découpé en élément simple. A chaque explication, un exemple de code est donné. Les exemples sont simples, nombreux et très clairement expliqués. Plusieurs types de programmation, sur 2 ou 3 lignes de code, sont comparées, de temps à autre, pour illustrer l'adage "There's more than one way to do it".
Les chapitres de l'ouvrage sont :
1 The Perl Philosophy
2 Perl and its community
3 The Perl Language
4 Operators
5 Functions
6 Regular Expressions and Matching
7 Objects
8 Style and Efficacy
9 Managing Real Programs
10 Perl beyond Syntax
11 What to avoid
12 What's missing
Aucun module n'est détaillé. La programmation orientée vers le web n'est absolument pas abordée. Néanmoins, tous les fondamentaux sont là et expliqués par l'exemple. Toutefois, on n'y trouve pas la richesse des explications que l'on peut avoir dans le "Camel book". On ne peut évidemment pas demander à un ouvrage de 290 pages, la même chose qqu'à celui qui en fait presque 1000. L'interface avec le langage C n'est pas non plus évoqué. Il s'agit d'un ouvrage qui décrit le langage Perl, pas les extensions possibles de ce derbier.
L'ouvrage est en anglais, mais reste très accessible à toute personne habituée aux pages de "man" ou à celles qui ont de bons souvenirs d'anglais. Contrairement au "Camel Book", il n'y a jamais de grands passages tout en anglais. Tout est entrecoupé d'exemples qui permettent à celui ne maîtrisant pas parfaitement la langue de Shakespeare de pouvoir comprendre le texte par l'exemple.
En conclusion, je dirais que c'est un bon ouvrage pour celui qui veut actualiser ces connaissances sur Perl, sans être obligé de faire l'acquisition d'un pavé. L'index étant très clair et complet, on trouve facilement l'information recherchée. Pour un "total beginner" sous Perl (ou en programmation), je déconseillerai cet ouvrage, même en parlant parfaitement l'anglais, car si les exemples sont nombreux, ils sont souvent illustratifs d'un seul thème et ne donne pas la vision d'un programme complet. Le public visé est celui qui connaît déjà un langage de programmation et veut découvrir ou approfondir ces connaissances de Perl. Pour ma part, j'y ai appris de nouvelles syntaxes pour des opérations que je connaissais déjà, ce qui me permet d'élargir mon champs d'expression et de compréhension des codes source. C'était l'objectif recherché et il est parfaitement atteint.
Tout d'abord, l'ouvrage est structuré de manière classique (présentation du type de variables, des opérations logiques, etc...). Chacun des chapitres est découpé en élément simple. A chaque explication, un exemple de code est donné. Les exemples sont simples, nombreux et très clairement expliqués. Plusieurs types de programmation, sur 2 ou 3 lignes de code, sont comparées, de temps à autre, pour illustrer l'adage "There's more than one way to do it".
Les chapitres de l'ouvrage sont :
1 The Perl Philosophy
2 Perl and its community
3 The Perl Language
4 Operators
5 Functions
6 Regular Expressions and Matching
7 Objects
8 Style and Efficacy
9 Managing Real Programs
10 Perl beyond Syntax
11 What to avoid
12 What's missing
Aucun module n'est détaillé. La programmation orientée vers le web n'est absolument pas abordée. Néanmoins, tous les fondamentaux sont là et expliqués par l'exemple. Toutefois, on n'y trouve pas la richesse des explications que l'on peut avoir dans le "Camel book". On ne peut évidemment pas demander à un ouvrage de 290 pages, la même chose qqu'à celui qui en fait presque 1000. L'interface avec le langage C n'est pas non plus évoqué. Il s'agit d'un ouvrage qui décrit le langage Perl, pas les extensions possibles de ce derbier.
L'ouvrage est en anglais, mais reste très accessible à toute personne habituée aux pages de "man" ou à celles qui ont de bons souvenirs d'anglais. Contrairement au "Camel Book", il n'y a jamais de grands passages tout en anglais. Tout est entrecoupé d'exemples qui permettent à celui ne maîtrisant pas parfaitement la langue de Shakespeare de pouvoir comprendre le texte par l'exemple.
En conclusion, je dirais que c'est un bon ouvrage pour celui qui veut actualiser ces connaissances sur Perl, sans être obligé de faire l'acquisition d'un pavé. L'index étant très clair et complet, on trouve facilement l'information recherchée. Pour un "total beginner" sous Perl (ou en programmation), je déconseillerai cet ouvrage, même en parlant parfaitement l'anglais, car si les exemples sont nombreux, ils sont souvent illustratifs d'un seul thème et ne donne pas la vision d'un programme complet. Le public visé est celui qui connaît déjà un langage de programmation et veut découvrir ou approfondir ces connaissances de Perl. Pour ma part, j'y ai appris de nouvelles syntaxes pour des opérations que je connaissais déjà, ce qui me permet d'élargir mon champs d'expression et de compréhension des codes source. C'était l'objectif recherché et il est parfaitement atteint.
Jesús Lozano Mosterín
2.0 out of 5 stars
This book is somewhat not brilliant
Reviewed in Spain on April 26, 2014
It covers some modules from CPAN, the OOP thing, but with not so modern generalities that don't put you with the desire to start typing its examples or start new coding. 2/5 is generous enough for a expensive book which is not so atractive/productive.
Theo
5.0 out of 5 stars
Aus alt mach neu?
Reviewed in Germany on September 13, 2011
Lange nicht mehr geperlt? Dann könnte dieses Buch helfen, zu lernen, was es Neues gibt (und wie eigentlich das Alte funktioniert). Bei mir hat es nach gut sieben Jahren einigermaßen funktioniert. Insbesondere gelegentliche Kontrastierungen von "altem" und "neuem" Perl bzw. Modulgebrauch fand ich sehr hilfreich. M.E. ein gelungener Sprach- und Infrastrukturüberblick.
Der Text ist angenehm knapp. ("Programming Perl" ist ein Trum und wird wohl nach zehn Jahren endlich überarbeitet, aber es wird sicher nicht ganz durch dieses Buch ersetzt.) Da "Modern Perl" auch im Netz zur Verfügung steht, kann man die Beispiele auch am Bildschirm direkt ausprobieren und das Ganze Bit auf Byte mit sich herumtragen, wenn man durch das Buch durch ist.
Leichte Schwächen: Ab und zu war ich abgehängt (durch zu unkommentierte Vorausgriffe etwa), aber das meiste löste sich nach einigen Seiten auf. Durch die Knappheit des Textes wird manches nur angerissen; vor allem Module werden manchmal nur als Lösungen erwähnt, aber nicht erklärt. Das könnte stören, wenn man eine Gesamtreferenz erwartet oder gerade das Lieblingsthema behandelt wird, aber ich fand es insgesamt sinnvoll: auf CPAN gibt es heute wohl: "99,629 Perl modules in 23,355 distributions", da kann man nicht alle behandeln.
Der Text ist angenehm knapp. ("Programming Perl" ist ein Trum und wird wohl nach zehn Jahren endlich überarbeitet, aber es wird sicher nicht ganz durch dieses Buch ersetzt.) Da "Modern Perl" auch im Netz zur Verfügung steht, kann man die Beispiele auch am Bildschirm direkt ausprobieren und das Ganze Bit auf Byte mit sich herumtragen, wenn man durch das Buch durch ist.
Leichte Schwächen: Ab und zu war ich abgehängt (durch zu unkommentierte Vorausgriffe etwa), aber das meiste löste sich nach einigen Seiten auf. Durch die Knappheit des Textes wird manches nur angerissen; vor allem Module werden manchmal nur als Lösungen erwähnt, aber nicht erklärt. Das könnte stören, wenn man eine Gesamtreferenz erwartet oder gerade das Lieblingsthema behandelt wird, aber ich fand es insgesamt sinnvoll: auf CPAN gibt es heute wohl: "99,629 Perl modules in 23,355 distributions", da kann man nicht alle behandeln.
Daniel Woods
5.0 out of 5 stars
An update from the Camel Book to today's Perl
Reviewed in the United Kingdom on December 4, 2010
What's considered good form in the Perl world has changed in the ten years since the 3rd edition of the Camel book was released; Modern Perl is, in one sense, a delta between then and now. This is a book on Perl 5, not Perl 6, and is not a beginners' book on programming or Perl. No time is wasted before diving straight into topics like method contexts; references; array and hash manipulation; and advanced function usage (i.e. closures and anonymous subs). If you've been using Perl long enough for that to make sense, the chapter on regular expressions is probably mostly redundant: the same material has been around in other books for years. Object orientation is also covered, both in its traditional flavour and in the shape of the Moose framework. Finally, there's a "what's good and what's not" section at the end, detailing what's considered idiomatic and what's fallen out of favour.
All-in-all, this is a superb book for an update on Perl 5. More than just a technical reference, it places a great deal of emphasis on the Perl community and ethos, making no apologies for the language quirks that make it so powerful and flexible.
All-in-all, this is a superb book for an update on Perl 5. More than just a technical reference, it places a great deal of emphasis on the Perl community and ethos, making no apologies for the language quirks that make it so powerful and flexible.
12 people found this helpful
Report
Top
About this item
Similar
Product information
Questions
Reviews
