in reply to help with a form

all i get is errors...

And you can learn something from those error messages. If you don't understand them, show us what the messages are, and when they refer to line numbers in your code, make it clear in the code that you post which lines those are (e.g. add something like  # this is line XX at the end of the XX'th line).

For example, one of the errors would have cited this line:

if ($name$tel$zip eq '') { # you want $name.$tel.$zip or "$name$tel$ +zip"
If you include "use strict;" at the top, you might get more error messages -- and this is good, because these would identify problems that might be hard to spot otherwise (e.g. spelling errors in variable names -- you don't seem to have any now, but they can happen at any time).