Welcome to Perl!
I like the approach you are taking to learning the language, and to learning programming in general. Grandfather and Botfx both pointed out some good ideas. I would add the following:
- select a simple task that you might do on a regular basis(ex. clean out the Download directory of anything older than x number of days, or maybe search for and relocate all .jpg files in a path to another path. Am sure you can come up with something better...)
- Use perldoc to accomplish the task without any additional modules(CPAN). A task like this is well within the reach of core Perl
- If you get confused, you can always ask questions here, though it is good to be able to show what you have tried. (See How to I Post a Question Effectively)
- Once you have accomplished whatever task it is you set out to do, you will probably have been exposed to most of the basics that the rest of procedural Perl is built on.
- Subsequently, look at CPAN and learn how to use it.
- Redo that same project using modules from CPAN. Which will expose you to extended functionality as well as other folks methods of programming in Perl
This is what worked for me years ago, and actually still does when I decide to take on a project that requires exposure to new things that I have not yet tried(there is a lot of that). Most of what I have done with Perl fits into just a few basic categories:
- repetitive administrative tasks(moving things about)
- manipulating file content(read it in, spit it back out differently, or to a new format)
- reading/writing to storage(databases)
- dynamically generating data/info to deliver to web apps
There have been many other uses, but doing those forced me to learn a plethora of other related skills, like good development methodology(at least one that works for me), version control, database basics(flavors of SQL in my case), etc...
Hope that might be helpful... and also that you find enjoyment in discovering Perl. In my opinion, you made a great choice for a first programming language.
...the majority is always wrong, and always the last to know about it...
Insanity: Doing the same thing over and over again and expecting different results...
A solution is nothing more than a clearly stated problem...otherwise, the problem is not a problem, it is simply an inconvenient fact