in reply to form processing

Just to be the school marm w/ some suggestions (besides indenting) to make your code a bit more perlish:
while ($in{$modContactTitle} =~ /[\s]+$/) { chop($in{$modContactTitle}); }
is really:
$in{$modContactTitle} =~ s/[\s]+$//;<br> # yes the '[]' aren't necessary, but are helpful
and:
$error = ++$error;
is:
$error++;
and
[0-9]
is \d,
you can check for 5 digits:
$modContactDeskPH3 =~ /\d{5}/
in one test (you check length and then digits but your first error msg say 'needs 5 digits'),
often:
if (length($in{$modContactEmail}) > 0)
is:
if ($in{$modContactEmail})
and are you sure you want '1' and not $[ in: @array = (split " ", $sites); print $array[1]; if ($array[1] == 7) { ...
Finally, this is odd
while ( @row3 = $sth3->fetchrow() ) {}

I know you're doing a lot of debugging w/ chipmunk on this so much may be an artifact of that so just take these as some hints (and not necessarily correct; TIMTOWTDI) for the future.

a