http://www.perlmonks.org?node_id=806569


in reply to Learning Perl Online

Convince someone to pay you to write code. That can be a great motivator to learn.

If you're employed, convince the boss to pay you to do projects using Perl. If that fails, identify activities where Perl could save you time and effort, and do the work on your own time.
If you're not employed, look at online job shops, eg, odesk, elance, rent-a-coder, guru.com, expertsExchange.

Join a Perl-based project at sourceforge.net (or other online repository): see the 'Project Help Wanted' section. Find a project that you want to learn, study its code, connect w/ the other team members, add some tests, fix bugs, add features.

Online course:
It can offer a structured experience with homework, grades, tests, discussion boards, and no commuting needed. OTOH, at the end of the term, the discussion boards might disappear, and that data is not avbl unless you saved it locally.

Be a mentor to people looking for help (eg, answer questions at perlmonks). Teaching something is a good way to learn it.

Write an article about a topic you want to learn.
Make a plan, do the research, write & debug the code. Commit to a schedule and follow it. Post it on perlmonks for comment.

Learn to manage your own desktop machine effectively, so you don't have to rely on the IT help desk. Perl has many tools for sys admin tasks. See the books on Perl for sys admin (eg, Automating System Administration with Perl). Build your own custom toolbox that you can take with you to many different work sites.