If you have an interest in mathematics, Project Euler offers a large number of programming problems.of varied difficulty.
If you feel like a challenge, you could try to go through some of the exercises in SICP. The book is based around scheme, but there are still a number of good problems in there you could pick out. There's a reasonable chance of going down some blind alleys tho (e.g. scheme has tail recursion and I don't know that perl does, so some sections which take advantage of that might blow up on you), so take that recommendation with a pinch of salt.
Edit: updated broken link. D'oh. Thanks for correction.