Jump to ratings and reviews
Rate this book

Higher-Order Perl: Transforming Programs with Programs

Rate this book
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

500 pages, Paperback

First published January 1, 2005

20 people are currently reading
186 people want to read

About the author

Mark Jason Dominus

2 books8 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
72 (48%)
4 stars
51 (34%)
3 stars
18 (12%)
2 stars
3 (2%)
1 star
4 (2%)
Displaying 1 - 7 of 7 reviews
Profile Image for Jack.
10 reviews1 follower
September 4, 2007
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.
Profile Image for Andrew Foote.
33 reviews7 followers
June 26, 2019
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.
Profile Image for Strong Extraordinary Dreams.
592 reviews27 followers
September 22, 2016
[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.
Profile Image for Mzd.
23 reviews4 followers
Read
June 18, 2007
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...
Profile Image for Hunter Johnson.
231 reviews8 followers
Read
January 26, 2011
Higher Order Perl, by Mark Jason Dominus. Loved it; not the usual rehash of Perl 101 masquerading as an "advanced" book.
Profile Image for m00nlight.
25 reviews
October 28, 2016
It is good if you the reader have some functional programming backgrounds. Teach a lot of very useful techniques for using Perl in a functional style.
Displaying 1 - 7 of 7 reviews

Can't find what you're looking for?

Get help and learn more about the design.