Like learning any skill, the fundamental requirement is
practice.
Since practice for the sake of practice is rather dull,
and not especially rewarding, it is often better to practice
on something you have an interest in. Instead of merely
using book examples or "problems", try and find
some task that you would
like to do, and make
a program to solve it. This could be something like
picking lottery numbers, checking your favorite baseball
player's stats,
or finding duplicate files on your hard drive, whatever you
have an interest in.
The idea is to focus on
the problem and not the programming. Subjecting yourself to
dozens of academic examples will not teach you how to solve
problems, which is really what programming is all about.
I would recommend reading
Programming Perl's function
section, and familiarize yourself with every function that
there is, though obviously not all at once.
Understanding the tools you can use is very
important, as there is often a single function which can save
you a lot of time compared to writing your own out of
ignorance. You won't understand all of them at first, but
without exposure, you will never understand, so just take
it at a comfortable pace. You must learn the vocabulary
in order to learn the language.
Unlike
Learning Perl, which is more of a tutorial,
Programming Perl is more of a reference, which means that
you aren't necessarily expected to read it cover-to-cover
in a direct sense.
It's there for you to pick up when you need help with
something, like how
split works, or to find a function
that sorts. It's like a dictionary in that sense.
Making it enjoyable will make your learning more productive.