There are plenty of ways to become a better programmer:
- Learn a new language. Rewrite some of your old code in the new language.
- Explore a new technology. Read a book about something not specifically related. Ask yourself how they designed it and why they made the decisions they made.
- Solve a new problem. Read a question on clpm or a golf challenge or a SoPW question, attack it yourself, and then compare it to the other answers.
- Ask a new question, like "What happens if I bless a typeglob? Can I access a scalar and an array even if I pass just a scalar reference as $self?" Then write code to try it.
- Rewrite an old program, but do something differently. (Perl makes this easy.) Some solutions are better than others, but knowing more about the language helps you solve other problems.
- Read a module's interface, then see if you can recreate it without reading the code.
- Look at a problem and write an interface to attack it. Then compare it to a module that solves the same program.
Mostly, just keep learning and looking for patterns. If you can make connections in your mind between nominally different things, you'll do okay.