First off, no.. it's not just you. :)
I think the difficult part, is wanting to learn everything at once. This can include:
- Good programming practices
- Programming Theory
- OOP
- Languages (in general)
- etc.
I like you, have not been formally trained. In order to learn good practices as well as
theory, one depends on some excellent books, classes, and sometimes co-workers (depending on
who they are). All in all, it takes time and lots of patience. Programming isn't one
of those things that one can do well without practice, time and like I said before
patience (for all those times that it takes hours to debug or figure out a trival problem).
You may want to read 'The Pragmatic Programmer' and 'Code Complete' before or at the same
time as reading 'Programming Perl.' This will give you a chance to learn some
good practices as well as having the opportunity to actually put those practices in motion.
What may be a better idea than doing the exercises in the book or books is to find a clear
goal/task that you would like to meet and code that. It's great practice, as well as accomplishing
a goal/task. I had a difficult time with Perl and doing the exercises - it wasn't
until I had to actually create a program for work - that I was able to really understand
some of the concepts and ideas that I had read. Good luck and remember: we were all once
there.