I think you're 'Fast Enough' just before the point at which the speed at which you program adversely affects the speed at which you get things done.
in reply to Speedy Hacking
Sometimes coding something supremely fast slows down debugging time, thinking things out and having a plan of attack is the key here...once you know 'how' to do it, getting it done is usually simple. The more functional the model you build before you open vi, the better your structure will be laid out, the better you will know what's going on, and thus the faster you will be able to fix problems. Just coming up with a series of steps and coding them all out at once without thinking about degeneate cases and such means when something goes wrong, you often have no idea why.
I think when you describe the speed of a 'really good programmer' it's because they have a mental picture of what pieces should be doing what, that they implicitly understand. This is partly because of deep familiarity with a language like perl, and more generically, because they know how to design stuff well. It's a skill that's extremely valuable, and one that I'm trying to develop as well.