in reply to Perl Puzzles

I know one can increase the knowledge in a programming language - by using the "doing it" approach. What are the other means by which I can improve it?