In addition to the fine suggestions already made (do nothing, read docs, read books, etc), try reinventing the wheel. There is no great need to reinvent the wheel, but occasionally you will do it better and you almost always learn something new.
For example: I am currently rewriting the popd, pushd, and dirs builtin shell commands as a Perl module. No particular reason except that someone on beginners@perl.org asked if such a thing existed. I didn't feel like doing my work load today, so I am taking his/her query as a challenge. I don't particularly care if such a thing exists on CPAN or not; functionality is not the goal: coding is. I have set the following requirements for myself:
- it must conform to the original syntax as closely as possible (-n can be '-n' but that is it)
- it must be %100 Perl
- I must avoid modules
- it must be thoroughly documented with POD
- I must be able to upload it to CPAN if after I am done I don't find anything that already does this
So far I am having a ball.