I think this is still not as good style as it could be, personally I don't like if/else for debugging as it apears convoluted to me, I would think this would be better:
exit "Sorry, name can't be empty"
if $name eq ''
;
print "Thank you, $name. Your submission is complete.";
IMHO printing for an error message is bad practice, let a function or a module take care of it, and exit (or better yet die, or croak) with a code or a message.
UPDATE
I didn't know exit() was CORE:: -- news to me. use die instead as said below, I thought this was a user func.
Evan Carroll
www.EvanCarroll.com