Everything
gav^ said is on the money. For me its always a good idea to break down code into the smallest meaningful functions I can. And break the script up into usable modules where ever possible.
Notice I said "meaningful" functions. Each time a program needs to call a function you loss some speed, so keep that in mind, but the trade off is often reusable code, so on your next project you are starting with a better tool kit and can get things done faster.
Well.. that's my two bits, hope it helps.
webadept