Nice meditation. Here's my one addition for a good step missing in this writeup.
8. Try small code examples before sticking them into complex programs and scripts: It's common sense, but it's amazing how often I find beginning programmers who don't do this. I think mostly it is due to the fact that many languages require a whole skeletal framework, or a ridiculous "project" file with makescripts, or IDE dependent metadata, and gui descriptions, and so forth before they can even run the simplest "Hello, World" program. The end result is that people don't write simple test programs to try out a feature of a language, they just go from the documentation and examples and then wonder why they don't quite get it. Yet, Perl is an ideal language for this practice. In a sentence of perl, one can test most features of the language. And there are shortcuts (easy to pick up if you read Perlmonks, cuz they are in most examples) built into the language to allow for sample data, data dumping, and argument stuffing. So do it.