#! /usr/local/bin/perl # Test script to check for missing form fields in perl # By David Efflandt - efflandt@xnet.com [12/5/95] ### Define Variables $cgiurl = "$ENV{'SCRIPT_NAME'}"; # Auto URL of this script $homeurl = 'index.html'; # home page URL # Array of required (variable, display_name) pairs %required = ( 'realname', 'Your Name', 'username', 'E-mail', 'comments', 'Comments', ); ### DONE # GET form if not POST &make_form unless ($ENV{'REQUEST_METHOD'} eq "POST"); # Get POST input read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); # Split the name-value pairs @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); # Un-Webify plus signs and %-encoding $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s///g; $value =~ s/<([^>]|\n)*>//g unless ($allow_html = 1); $FORM{$name} = $value; } # Check for Blank Required Fields foreach $var (keys(%required)) { &missing unless ($FORM{$var}); } # Otherwise Save or Email the Form Here &begin_html('Good Test'); print "