Written for readers with at least some Perl programming experience, Mastering Algorithms in Perl delivers a solid library of algorithms written in Perl for business and mathematical computing. From data structures to cryptography and more advanced mathematical algorithms, this book provides a worthwhile guide to extending Perl's coding capabilities.
The best thing about Mastering Algorithms in Perl is the scope at which it covers the universe of algorithms while refraining from getting bogged down in academic detail. Besides basic data structures--a lynchpin of books on algorithms--the authors provide dozens and dozens of algorithms for sorting, searching, and doing mathematical computations of all kinds. While they discuss "Big-O" notation and assume a general familiarity with math, they don't overwhelm the reader. (You can even borrow the code without needing a math degree to understand it.) The focus is on efficient, reusable Perl subroutines written and compiled by three Perl experts.
Standout chapters include extending Perl's already powerful string processing abilities, game programming, and cryptography. Generally, the authors achieve a good mix of more advanced (and less well-known) algorithms, along with the basics. Chances are you won't need to use all the dozen or so sorting algorithms presented here, but the authors include them all, just in case. As a reference and tutorial, readers can pick and choose what they need for real-world Perl development.
There hasn't been a book dedicated exclusively to Perl algorithms prior to the publication of this one. In all, Mastering Algorithms in Perl fills a useful niche by compiling a powerful library of Perl algorithms that will be useful for anyone who works with this programming language, whether in business or academic computing. --Richard Dragan
Topics covered: Perl data types, Big-O notation, data structures, queues, deques, linked lists, binary trees, sorting and searching algorithms, game and dynamic programming, sets and multisets, matrices and graphs, string matching and parsing, 2-D geometry, number systems, cryptography (including DES and RSA), probability, statistics, and numerical analysis. [via]