There's
Ninety-Nine Prolog Problems, many of which are equally interesting for Perl programmers. The difficulties range from "trivial" to challenging.
Update: here's another one: Rosetta Code. It's a collection of common programming problems, with solutions in many programming languages. If you look a the problem first, and not at the solutions, it is another good set of exercises. (Sadly I haven't found a list of problems sorted by difficulty).
Both of these collections do not focus on perl specific tasks like text processing, though.