Buy new:
-34% $55.81
$3.99 delivery May 21 - 23
Ships from: 365giftshop
Sold by: 365giftshop
$55.81 with 34 percent savings
List Price: $84.95

The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
$3.99 delivery May 21 - 23. Details
Or fastest delivery May 20 - 21. Details
Only 1 left in stock - order soon.
$$55.81 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$55.81
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
365giftshop
Ships from
365giftshop
Sold by
Sold by
Returns
Eligible for Return, Refund or Replacement within 30 days of receipt
Eligible for Return, Refund or Replacement within 30 days of receipt
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt. You may receive a partial or no refund on used, damaged or materially different returns.
Returns
Eligible for Return, Refund or Replacement within 30 days of receipt
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt. You may receive a partial or no refund on used, damaged or materially different returns.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$38.90
FREE Returns
Shows signs of wear. The book may have visible wear on the corners and edges- On the text block, it has stains and scratches Shows signs of wear. The book may have visible wear on the corners and edges- On the text block, it has stains and scratches See less
FREE delivery Thursday, May 23
Or fastest delivery Tuesday, May 21. Order within 10 hrs 45 mins
Only 1 left in stock - order soon.
$$55.81 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$55.81
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

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.

QR code to download the Kindle App

Something went wrong. Please try your request again later.

Higher-Order Perl: Transforming Programs with Programs 1st Edition

4.6 4.6 out of 5 stars 35 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$55.81","priceAmount":55.81,"currencySymbol":"$","integerValue":"55","decimalSeparator":".","fractionalValue":"81","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"AaH%2BOSQsO9Gnmr%2F%2B5jWIEjiJfYdIgImIFK1URFle03fTqd872QS9%2F4RFcBIBRvTiHIdplTMUlx8Igu1QU%2FduECidy0EU2As8iUo%2BNdE4pwvQjuFxKFK1zMrkgw%2B7XULs9CrboxndjL4KK2tHOrU30o2WvVXQ4zKBa3SolPMQRbNIHWHTiw8DGLRyse4i5AYJ","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$38.90","priceAmount":38.90,"currencySymbol":"$","integerValue":"38","decimalSeparator":".","fractionalValue":"90","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"AaH%2BOSQsO9Gnmr%2F%2B5jWIEjiJfYdIgImItotQo6J7VaNngh0mUU7WzhJsQ%2Bme7s4UlA3%2BNfyCJ7PJOAJLDPF2h%2Fr26XahSqe5Zq19WW8xj6foWdu2pvnAdY1hFNXRnycOeFs%2BXxmxonSt2rJflZ8LYGKODlFh5LMj2cNXBgWPCBPwGtAdz5D1sacoPSOHLTgz","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

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
Read more Read less

Amazon First Reads | Editors' picks at exclusive prices

Frequently bought together

$65.68
Get it as soon as Thursday, May 23
Only 1 left in stock - order soon.
Sold by Book-center and ships from Amazon Fulfillment.
+
$22.33
Get it as soon as Wednesday, May 22
Only 2 left in stock (more on the way).
Ships from and sold by Amazon.com.
Total price:
To see our price, add these items to your cart.
Details
Added to Cart
One of these items ships sooner than the other.
Choose items to buy together.

Editorial Reviews

Review

“It's well written…everyone who claims to be an expert ought to read it…these techniques allow programmers to accomplish far more than they're used to." --Gregory V. Wilson, Dr. Dobb's Journal, November 2005"It is, quite simply, one of the best books on programming I have read for a long time." --Martin Schweitzer, Computing Reviews, Association for Computing Machinery, July 2005"Mark Jason Dominus has hit his mark with Higher Order Perl. It is a very informative book that is a must read for Perl programmers who want to take their skills to the next level. --Mark Rutz, Linux Journal, November 2005“Higher-Order Perl is one of the Perl books that should have a place on the bookshelf of every Perl programmer. It offers an in-depth understanding of important programming techniques and fundamental concepts. The chapter on parsing alone is worth the price of this book. I do not know a better text about parsing in Perl. --Reinhard Voglmaier, Unix Review, November 2005“Higher-Order Perl is the most exciting, most clearly-written, most comprehensive, and most forward-looking programming book I've read in at least ten years. It's your map to the future of programming in any language." --Sean M. Burke, Leading Programmer, Comprehensive Perl Archive Network (CPAN)"There are lots of book that teach you new Perl modules or techniques. This book goes beyond that and teaches a new way to think about Perl programming. --Peter Norvig, Google Inc.“As a programmer, your bookshelf is probably overflowing with books that did nothing to change the way you program. . . or think about programming.You're going to need a completely different shelf for this book.While discussing caching techniques in Chapter 3, Mark Jason Dominus points out how a large enough increase in power can change the fundamental way you think about a technology. And that's precisely what this entire book does for Perl.It raids the deepest vaults and highest towers of Computer Science, and transforms the many arcane treasures it finds--recursion, iterators, filters, memoization, partitioning, numerical methods, higher-order functions, currying, cutsorting, grammar-based parsing, lazy evaluation, and constraint programming--into powerful and practical tools for real-world programming tasks: file system interactions, HTML processing, database access, web spidering, typesetting, mail processing, home finance, text outlining, and diagram generation.Along the way it also scatters smaller (but equally invaluable) gems, like the elegant explanation of the difference between 'scope' and 'duration' in Chapter 3, or the careful exploration of how best to return error flags in Chapter 4. It even has practical tips for Perl evangelists.Dominus presents even the most complex ideas in simple, comprehensible ways, but never compromises on the precision and attention to detail for which he is so widely and justly admired.His writing is―as always―lucid, eloquent, witty, and compelling.Aptly named, this truly is a Perl book of a higher order, and essential reading for every serious Perl programmer. --Damian Conway, Co-designer of Perl 6“Higher-Order Perl is a terrific book targeted at the advanced Perl programmer with a significant computer science background. The tone, content, and code make Higher-Order Perl memorable; the knowledge, wisdom, and intuition it provides make it a book any Perl programmer should aim to understand and digest in full." --Teodor Zlatanov, Programmer, Gold Software Systems

Review

The eagerly awaited book by one of the best-known Perl developers summarizing years of innovative practice

Product details

  • Publisher ‏ : ‎ Morgan Kaufmann; 1st edition (March 28, 2005)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 500 pages
  • ISBN-10 ‏ : ‎ 1558607013
  • ISBN-13 ‏ : ‎ 978-1558607019
  • Item Weight ‏ : ‎ 2.6 pounds
  • Dimensions ‏ : ‎ 7.4 x 1.36 x 9.4 inches
  • Customer Reviews:
    4.6 4.6 out of 5 stars 35 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Mark Jason Dominus
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read author blogs and more

Customer reviews

4.6 out of 5 stars
4.6 out of 5
35 global ratings

Top reviews from the United States

Reviewed in the United States on August 5, 2007
I had originally planned to read Higher Order Perl and write my review immediately. When it became clear that I wasn't going to read HOP straight through, I figured I'd write a review when I was done. More and more, it looks like my reading of the last two chapters is being indefinitely delayed. I'm going to write what I think so far, while it's still more or less fresh in my mind.

Higher Order Perl was originally going to be given some fairly bland name, like "Handbook of Advancted Perl Techniques." This would have been a spot-on (but uninteresting) title. HOP provides the reader with explanation and demonstration of techniques for problem-solving that are often overlooked. The examples are complex and detailed, but not byzantine, and they're built up slowly, piece by piece, so that each line of code's meaning and significance are made clear.

The title "Higher Order Perl" refers to the book's most central technique, functional programming. While many programmers understand how to abstract a specific solution into a more general one, Dominus helps the reader learn to push the envelope, abstracing generic solutions into extremely generalized solutions that can be applied to seemingly-unrelated problems. This is frequently done by the construction of functions that build functions that build functions -- and so on, functions all the way down. Instead of solving the problem in base, earthly Perl, the programmer produces Perl elements of a higher order which, operating in harmony, become all things to all people.Well, I'm hyperbolizing, but I think it would be hard for me to over-emphasize the value of techniques like closures, iterators, and currying. They are, in part, what make Lisp so powerful, and the marriage of Lisp's power and Perl's expressivity is a happy one.As for the writing, it is good. The language is clear and the material is well-presented. One should be cautioned, though, that the book is dense. Dominus is constantly pressing onward, explaining new techniques or new ways to apply already-explained techniques. I found myself reading each page carefully and deliberately, only to turn back to it a few pages later, to be sure that I understood how the new material was relying on the old. It made the book a challenge to read, but it was a thoroughly enjoyable challenge. I never felt so frustrated by a bizarre idea that I gave up or so bored with an over-explained one that I skipped ahead.

Finally, while the techniques that Dominus presents are powerful and advanced, the required knowledge of Perl is not particularly great. Because he clearly explains the key Perl concepts that he uses (especially closures and associated scoping issues), any competent programmer with a working knowledge of Perl should be able to put the ideas in Higher Order Perl to work.

For serious Perl programmers, Higher Order Perl is a must-read book.
18 people found this helpful
Report
Reviewed in the United States on October 18, 2022
Great book, it covers higher-order programming using Perl, which is a very good language to know. I recommend this book even if you don't know Perl and have no intention of using it. You will derive much benefit being exposed to a flexible language that allows you to use mind-expanding conceptual techniques to raise your programming horizons.
Reviewed in the United States on December 22, 2015
I bought this book because the price was right, but i was overwhelmed by the actual content. This is clearly a book for the expert perl coder, and i barely consider myself a beginner. You will certainly see some code examples that are quite impressive in what can be done in a few short lines of perl, and even if you are a long-time perl hacker I can't see anyone not benefitting from reading this book.
One person found this helpful
Report
Reviewed in the United States on May 1, 2021
While Perl may be going out of fashion, I put this book with Meyer's Eiffel book on OOP: the language doesn't really matter; the concepts are so clearly explained and the book is so entertaining that it transforms a person's way of thinking. Right now, of course, the fundamentals of OOP are far more practical than the metaprogramming HOP discusses. However, with the coming of AI programming systems, higher-order programming may have its place yet.
2 people found this helpful
Report
Reviewed in the United States on March 28, 2005
Many in the Perl community have been eagerly awaiting Higher Order Perl, and they will not be dissapointed. Not only is this a great Perl book, it's one of the best general computer science texts I've read in a long time. Dominus focuses on the functional, LISP-like aspects of Perl, breaking readers of the procedural habits they have developed writing Perl code. The book starts with a few simple examples of callbacks and closures, and quickly moves on to developing functions that dynamically manufacture and return other functions. These techniques are used to their fullest potential as Dominus shows us how to use dynamic iterators to eliminate recursion; an invaluable technique considering Perl's lack of tail call optimization. Further techniques include using iterators to transform other iterators (analagous to Perl's map function), currying, using linked lists to create "lazy" streams that produce their data upon request, and function memoization. Dominus also makes digressions into Perl internals, giving the reader a magnificent depth of understanding about how these techniques actually function under the hood.
58 people found this helpful
Report
Reviewed in the United States on May 17, 2007
I am NOT a SW guy - I am a perl autodidact HW engineer. I have written some pretty BIG "scripts" that get the job done - but a fringe "benefit" to me from the demise of the previous company I worked for is that I DON'T HAVE to maintain those scripts - a big bowl of spaghetti :(

I tried several times to learn the OO side of Perl but this stuff was w-a-a-a-a-y out there for my scull :(

HOP just made it for me! I wish it was available 5 years ago so I wouldn't waste my time writing the aforementioned spaghetti! Study it! It will twist your brains to the point of pain but stick with it - well worthed - you won't look at scripting/programming the same old way ever again!

vess
5 people found this helpful
Report
Reviewed in the United States on July 23, 2006
This book is excellent. Unless you're a programming genius as well as a Perl genius, this book will teach a a lot of cool Perl tricks, and a lot of cool programming techniques which can be applied to all sorts of thorny problems and even implemented in other languages (although, some of the techniques might be a real pain to write in one of the "real" programming languages i.e. C/C++/C#/Java).

I am much more of a Python programmer and I tend to avoid Perl if I can, but reading this book makes me want to write Perl code again.

OK, maybe that feeling doesn't last for long, but it reminds why Python (and Ruby!) owe so much to Perl and the Perl community.
7 people found this helpful
Report