As soon as I heard that this book was coming out, I started
counting the months until its publication. Because, you
see, I had a secret shame.

I've always learned best by
looking at examples, playing with them, and tweaking them
until I knew how they really worked. Pure theory tends to
bore me. Either that, or it goes over my head. Pick your
excuse.

For this reason, I avoided certain classes in college -- the
ones that dealt a lot with theory and didn't require much,
if any, programming. Give me a programming project, and I
can make A's. Grade me strictly on tests and quizzes, and I'll get
C's. So... I can finally admit it now... I weaseled out of
taking the Algorithms class.

I graduated from college knowing very little about
algorithms other than what I'd picked up in other classes.
I wanted to learn all that nifty stuff -- efficient sorting
algorithms, approximate string matching, graph traversal.
All of it was important. I knew that. But pseudo-code just
wasn't good enough, and things like algorithms books tend
not to be targetted at a specific language.

So, I was very excited when Mastering Algorithms with
Perl hit the shelves. All the stuff I'd wanted to
learn, and in the form from which I learn best. Code! And
lots of it! As with most, if not all, O'Reilly books, all
the examples in the book are on the O'Reilly web site.
Download it and run it. Don't understand how it works?
Stick in a few prints until you do. Change the
computation of the shell size in your shell sort to see what
happens. What FUN!

Mastering Algorithms covers all the high points --
sorts, graphs, data structures, number theory, cryptography,
statistics, and more. All with a plethora of examples, and
with references to the seminal works from which this book
was derived. And, as we've come to expect from O'Reilly,
presented in a professional and readable style.

So, is there anything wrong with this book? I'm reluctant
to say one way or the other. I've had to read a lot of it
over two or three times before understanding it, even with
the examples. But I'm inclined to think that that's more a
function of the complexity of the material being presented,
rather than the fault of the authors. They really do a very
good job of explaining everything. And, of course, the
examples are superb.

So, in summary, if you find Knuth to be a bit heavy, either
figuratively or literally, you should pick up a copy of
Mastering Algorithms with Perl. Well worth the
price, in my humble opinion.

I got the translated version of Mastering Algorithms with Perl only recently, and I can only support splinkys view. It is very useful for me, because I am not a programmer by formal education, so I lacked quite a bit of strategic knowledge. I felt that Mastering Algorithms with Perl is quite easy to understand and extremely informative.

I've had this book for a few months now. I found it very
useful since I went to College (not University) and only
was exposed to what what immediately practical. I had to
learn theory from other sources such as friends and
coworkers who had actually taken Computer Science in
University.

This book helped and still helps to bridge the gap between
the practical and the theoretical.

I highly recommend this to anyone interested in learning
about Algorithms - not simply limiting themselves to
'about how to program'.

I have this book and use it all the time. Your five star rating is right on the mark.

I only have one bone to pick. There is an error that is repeated in example code throughout the book. The sacred-to-sort package globals $a and $b are used as generic temporary lexicals. That's harmless in the examples, but it's bad practice, and it might lead to grief for a reader experimenting with the code.

I took Computer Science several years ago, and it's really nice to have a single book explaining to me all the stuff that I've managed to forget. Parsing. Graph Theory. Number theory. Compression. With Examples. In perl.

I think that the only (only!) weakness of this book is that some areas are treated rather superficially (I'd really liked to learn more about bottom-up parsing for example). But there are a lot of references to other material, so you can easily look it up if you're eager.

The book also lists standard CPAN modules implementing functionality presented in each chapter, so you don't have to reinvent the wheel every time. Unless you want to, of course.

Though very promising and fun, i actually found this book quite lacking in certain areas. One example is the BTree description. The way a btree is described is actually the difference between a B+Tree and a regular one, thus causing confusion. Another example is the cryptographic section, where this actually a guide to using a module. I think this has a bit too much examples, not enough theory. Statements such as 'here is the code, but we're not going to discuss it' wreak of laziness, and i think i can spot a handful in the book.

The book is well written, but i think, at the bottom line, could have been more complete, better organized, and more mature. Perhaps a slightly more narrow spectrum would have aided. I would be reluctant to reccomend it until newer editions come out.

This is an excellent book where you dont really need to be a computer scientist but is a good follow up once youve learned perl and have a good programing foundation. It is excellent for making operations quicker. For example there are a few techniques that make it quicker to parse large databases that ive used with large server logs to provide detailed server access on a per user basis. They commonly use the phonebook example to describe how to simplify the search... 5 stars is bang on. Well worth your money if you are looking to become an overall better programer