#! /usr/local/bin/perl

#############################################################################
#  
#   GLOBAL VARIABLES
#
#############################################################################


#############################################################################
#  
#   MAIN FUNCTION
#
#############################################################################

&ReadEntry;
&printResults;

#############################################################################
#  
#   SUBROUTINES
#
#############################################################################


sub ReadEntry {
   &Parse(&Read);     # Read arguments passed from fill-out form
   return 1;
}


sub printResults {

&printHeader;

print "<pre>\n";
print "TO: $in{'To'} <BR>";
print "LH: $in{'Header'} <BR>";
print "EL: $in{'Emails'} <BR>";

@addresses = split(/ /,$in{'Emails'});
print "#: #$addresses";
print "</pre>";
&printFooter;

}

##############################################################################
#
#  Get information from fill-out form.
#
##############################################################################


# Returns the magic line which tells WWW that this is an HTML document
sub printHeader {
  print "Content-type: text/html\n\n";
  print "<html> $title<body>";
}

sub printFooter {
  print "$signature </body></html>\n";
}

# reads the arguments passed from the form
sub Read {
    local ($i, $loc, $key, $val);

    if ($ENV{'REQUEST_METHOD'} eq "GET") {                      # Read in text
       $in = $ENV{'QUERY_STRING'};
    } elsif ($ENV{'REQUEST_METHOD'} eq "POST") {
      for ($i = 0; $i < $ENV{'CONTENT_LENGTH'}; $i++) {
        $in .=getc;
      }
    }
    return $in;
}

sub Parse {
    $in = $_[0];
    local ($i, $loc, $key, $val);

    @in = split(/&/,$in);

    foreach $i (0 .. $#in) {
      $in[$i] =~ s/\+/ /g;                          # Convert pluses to spaces
      $in[$i] =~ s/%(..)/pack("c",hex($1))/ge;
                                # Convert %XX from hex numbers to alphanumeric
      $loc = index($in[$i], "=");                  # Split onto key and value.
      $key = substr($in[$i],0,$loc);
      $val = substr($in[$i],$loc+1);
#      $in{$key} .= '\0' if (defined($in{$key})); # \0 is the multiple separator
#      $in{$key} .= $val;
      $in{$key} = $val;
   }
   return 1; 
}


##############################################################################
#
#  Sub programs
#
##############################################################################

