in reply to Hand Rolled CGI

Is it just the bit which talks to sendmail that is broken? Do you see the HTML afterwards? If not, then I would guess this script is not being executed, and the form action on your 'Contact Us' page is bogus.

If this script is definitely being executed, the next thing to suspect is the attempt to pipe info to sendmail. You don't check the open or close for errors, which would give you some hints if those operations are failing for some reason. If either operation fails, particularly the open, then naturally there will be no email sent.

open(MAIL, "|/usr/sbin/sendmail -t") or die "Ack! Failed to open pipe to sendmail: $!";
For debugging purposes, you can have the error displayed to the browser if you add

use CGI::Carp qw(fatalsToBrowser);

to the top of your script.