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


in reply to Recommendations for a self-taught Perl programmer

Being self-taught is valuable in that it teaches you to be do independent research and solve your own problems, but it can also leave gaps in your understanding. What specific areas are you finding yourself lacking?

Your peers with a CS background are likely stronger in the algorithm, implementation, and planning/writing departments. The peers with a lot of industry experience likely have more wisdom about what you should do, versus what you can do.

The Pragmatic Programmer should be required reading in my opinion, as it addresses common areas where people are lacking in wisdom. Some of the most important areas (in my opinion) are revision control and testing.

If you are looking for perl specific information then I very highly recommend Perl Best Practices.

I'm very fond of Design Patterns: Elements of Reusable Object-Oriented Software, but recommend against embracing it immediately. There are some very useful patterns covered, but you also need the wisdom to know when to apply each pattern. I have heard good things about the "head first" version of that book, but haven't read it yet.

One of the best resources when learning more about perl is this community. Taking a passive role and reading the posts each day is valuable in that you can learn about modules and practices that you were not aware of.. but taking an active role is far more informative. There is a big difference between knowing how to do something, and knowing how to explain it. Frequently when you attempt to explain something you discover that you didn't know the topic nearly as well as you had assumed. After you submit your response keep an eye on the thread and see what you can learn from the way other monks approached/solved the problem.

You might find the following related threads from this site useful: