Hi bt707,
First of all, I would suggest that you don't bother with creating the HTML tags yourself but instead use the very standard CGI.pm (
http://perldoc.perl.org/CGI.html). It will guarantee that you always produce well-formed HTML.
Re: your "missing" errors, what you need is collect all the errors in one array:
if ($in{mail} eq '') {push(@missing,"Need to enter a valid \"email address\"")}
if ($in{manager} eq '') {push(@missing, "Need to enter a valid \"Manager\" (manager)")}
if ($in{c} eq '') {push(@missing, "Need to enter a valid \"Country\" (c) and \"City\" (l)")}
And then print them all using something like this:
my $errorHtml = join("", map{"<li type="disc">$_</li>"} @missing);
and replace your <li type="disc">$missing</li>
with $errorHtml
Good luck!