I second the recommendation of Higher Order Perl. If you don't want to learn a different programming language (which you really should, and it should be different in the way how make is different from Perl, or SQL is different from Perl, Higher Order Perl explores concepts from Lisp and how they apply to Perl. This will give you a different perspective on map and grep, for example. Learning a really different language is even better if the language is different enough, because there are important concepts that haven't found a place within Perl, like the concepts of Prolog (or make).
Knowing different programming languages is important in your ability to choose the right tool for the right job. If the only tool you have is a hammer, every problem looks like a nail.