Most Perl programmers were originally trained as C and Unix programmers, so the Perl programs that they write bear a strong resemblance to C programs. However, Perl incorporates many features that have their roots in other languages such as Lisp. These advanced features are not well understood and are rarely used by most Perl programmers, but they are very powerful. They can automate tasks in everyday programming that are difficult to solve in any other way. One of the most powerful of these techniques is writing functions that manufacture or modify other functions. For example, instead of writing ten similar functions, a programmer can write a general pattern or framework that can then create the functions as needed according to the pattern. For several years Mark Jason Dominus has worked to apply functional programming techniques to Perl. Now Mark brings these flexible programming methods that he has successfully taught in numerous tutorials and training sessions to a wider audience.
• Introduces powerful programming methods—new to most Perl programmers—that were previously the domain of computer scientists • Gradually builds up confidence by describing techniques of progressive sophistication • Shows how to improve everyday programs and includes numerous engaging code examples to illustrate the methods
I end up using the techniques in Python more often than in Perl, there are some stupid Perl tricks but a lot of this is just good design ideas. Highly recommended to all Perl programmers.
I'm having to learn Perl for work, so after reading the official Perl documentation and reading a lot of threads on perlmonks, I eventually came across this book and spent some time at work reading it. It was quite interesting and definitely a very welcome change from my usual job of doing maintenance on shoddy CRUD web apps. Unfortunately, I don't think the techniques I've learnt from this book are going to be of much use dealing with the Perl legacy system I'm having to work on, which is another one of those shoddy CRUD web apps.
None of the ideas in this book were particularly new to me---recursion, iterators, higher-order functions, lazy evaluation, parsing, linear algebra---but what was new to me was seeing lots of examples of these ideas being turned into code in a concrete (and not particularly fancy, somewhat awkward) programming language. This probably has significantly increased my ability to be able to apply these ideas when programming in the future. If I ever manage to find a job which isn't just about doing maintenance on shoddy legacy CRUD web apps.
I guess the main flaw of this book is that at heart it's a book on programming in general, but because the programming language is Perl and Perl is a language with a lot of idiosyncrasies and arguable flaws, anybody who isn't looking to program in Perl specifically is probably going to be put off by the use of Perl. For me, this wasn't a problem as I was looking to program in Perl specifically.
[I am only going to include 10 tech books, a represtative sample]
This changed my thinking about programming; to a somewhat lesser extent - unfortunately - it improved my programming. Perl 5 needs to go the way of Perl 4.
Roger was nice enough to loan it to me for a couple months. It is heavy reading, but fascinating. I have to remind myself to play with Local Propagated Networks...
Crammed this book in preparation for a job interview. Full of examples of applying functional programming to perl programming and has given me some ideas…