Thank you all for your help.
Eduardo, I just like learning to program this way. Learning how functions work before I use them so that I can understand them better. I occationally re-invent the wheel for my own purposes just to have a better understaning, and more control over it. However, I will heed what you said and try not to ignore CGI.pm.