in reply to How DO those monks do it?
Anyway, to address your questions:
I think the best thing you can do is get passing familiarity with a lot of things. Read all the perl FAQs. Read threads on Perlmonks that aren't directly relevant to you yet. Ditto for several of the comp.lang.perl.* groups. Subscribe to the Perl Journal, and skim those articles. Watch the "new CPAN modules" list, and read interesting sounding READMEs. Then, when you NEED to know something, you may recall where you saw something about it.
As for starting to write a program, that has a lot to do with the size of the program, and the technique of the programmer. In general as you gain experience, you'll do less brainstorming and psuedocoding, because you'll have more experience with the little operations. (And programs are just big operations made up of smaller operations, made up of...)
I recommend general experience. Code lots of projects. They don't have to be big, they don't even have to be great, but they'll be experience. If you can get feedback on those projects (ala Snippets Section, Code Catacombs, or Craft), all the better. In all honesty, my coding has progressed by leaps and bounds since I found PM and have learned many things from feedback given to me and others.