in reply to How do I become a good programmer?

Hate to tell you, Kevin, but it is just you. All the rest of us were born knowing how to program. I personally flashed on an incredible CFD routine in Fortran while suckling at my mother's breast.

(Sorry, just had to do that ;-)

You have the right method -- study the works of others -- and the desire. Have patience. It may seem like you're getting nowhere, but keep at it. As the I Ching admonishes, "perseverance furthers".

Consider some alternate resources. For example, you may have picked books that aren't appropriate for your stage of growth. Some other possibilities to consider:

One thing that helped me a lot when I was learning programming: read other people's code. One of the best things about using Open Source and Free software is that you can read the programs for education. For example, if you're curious how something in Perl works, try to track it down in the source, and see how it's accomplished. (Warning: this may warp your thinking for life. ;-) Or read some of the modules in your Perl distribution and see how they work.