in reply to Need Critique (Good or Bad)

In addition to all of the above, I'd suggest taking all of your $line testing and putting it in one procedure. This provides two benefits: