That having been said, pick an interesting problem and try to solve it. Something that can't necessarily be solved probably works best, like Artificial Intelligence problems. I'm been working on a Machine Translation Engine (think babelfish) and that's really stretched me. I've implemented a mini language using eval, done some complex parsing with regexes, and other things that have allowed me to understand perl (and programming) much better.

Pick something that interests you and try to come up with a solution. It doesn't even matter if it's in perl. A couple of ideas:

Genetic algorithms

A program that creates photo mosaics

Swarm intelligence

Pattern recognition

Of course that may not interested you. After all, it's not very practical. Helping with Perl 6 is an excellent idea too. I'm sure we'd all love to see everyone who is able contribute to the project.

Or pick something(s) that you wish you had and write them. That's often times how some of the best tools come about. I believe that's how most scripting languages have come about. Write something that's missing from linux. Write something that will make your life easier. Then, do it again.

When putting a smiley right before a closing parenthesis, do you:

Use two parentheses: (Like this: :) )
Use one parenthesis: (Like this: :)
Reverse direction of the smiley: (Like this: (: )
Use angle/square brackets instead of parentheses
Use C-style commenting to set the smiley off from the closing parenthesis
Make the smiley a dunce: (:>
I disapprove of emoticons
Other