I suggest two books. First, "Mastering Algorithms with Perl", and second, the first edition of "Advanced Perl Programming" by Sriram Srinivasan (not the second edition, which is a completely different book).
in reply to Recommendations for a self-taught Perl programmer
I also recommend that you learn Java. One reason is that many of the interesting books and articles about programming these days use Java for examples. Another is that Java has a lot of interesting OO design in it's core libraries, which will give you ideas you can use in perl.