in reply to Learning by doing.
You might consider getting involved in the Phalanx project, which encourages volunteer effort to increase test coverage. You'd get practical experience writing code for tests, as well as getting exposure to how other people approach more complicated problems with Perl.
Otherwise, I'd suggest picking a micro-project that has meaning for you. Write a program to parse a log file, or aggregate RSS feeds, or send you a reminder list for birthdays of your friends and family. If these are too "easy", then step up to more complicated things. Search around your electronic life for things that are repetitive and see if Perl can help you automate them.
Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.