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?
Hang around Perl Monks and try to answer questions.
Post some code you wrote to Perl Monks and ask for feedback -- so long as you are not overly sensitive to criticism, you will learn a lot from the feedback you receive here.