in reply to Enlightenment and Frustration

Another issue (I think) with learning any new programming language is that there are usually two parts: the language itself, and then the associated "library". In the case of perl, you can spend a lot of time reading books about the core language, but to really get the most out of the language you have to learn how to take advantage of CPAN. There are people out there who think it's easier to write their own quick-n-dirty parser rather than learn XML::Parser. Or write their own template system rather than learn HTML::Template (or Template toolkit), etc. Many of the questions here on PM are answered by "use module so-and-so". The big difficulty (for me) is keeping up on what already exists, and how to best use it (sometimes documentation and examples are lacking, even if the code is really good).

Other languages have the same problem: if you want to learn C++, there are tons of books on the core language, but to do real work you'll also need to learn about the STL, and boost, etc.

It's like having to read (and digest) an encyclopedia before you ever get started, or else you risk reinventing the wheel. I believe the sheer amount of material one must learn is intimidating to many people. And to older people, who have jumped through this hoop multiple times, you get weary of having to do it yet again.

For me, the effort spent learning perl has been well worth it. So I'd say hang in there and keep studying. Besides, all of Randal's books are hilarious! None of my college professors had any sense of humor at all.