While those sites are nice (and somewhat informative -- abigail's page is especially good and shiny!), I think I'm still not grasping the thought process. It's like "try this, or try that", or "this does this and that does this". That's all well and good, but how did you decide to try this and try that?
"Why?" is my question, the "How" is usually less interesting to me... That is "Why was this approach chosen" rather than "How does this particular approach work". Perhaps the answer is evolutionary, and "why" is "because it works" and "because someone else tried this and I changed it", in which case it's not possible to approach this from my Software Design mentality and these things must instead be created out of a different thought process.
On the other hand, maybe my brain would just explode and I don't need to know :)
It's like "try this, or try that", or "this does this and that does this". That's all well and good, but how did you decide to try this and try that?
I addressed this in the first JAPH talk I gave. It went like
First you get an idea, then you work out the details.
Getting the idea can come from many sources: studying the
manual page, reading Perl forums like comp.lang.perl.misc,
p5p, The Perl Journal, or from IRC. If you look at my first
set of slides, there's a section labelled "The making of a
Japh". It discusses the process that started with seeing someone use
&%%hole in a non-Perl related usenet group and
ended with the Japh: