A COMPLETE EXAMPLE OF A SIMPLE FORM-BASED SCRIPT

	#!/usr/local/bin/perl
     
	use CGI;
 
	$query = new CGI;

	print $query->header;
	print $query->start_html("Example CGI.pm Form");
	print "<H1> Example CGI.pm Form</H1>\n";
	&print_prompt($query);
	&do_work($query);
	&print_tail;
	print $query->end_html;
 
	sub print_prompt {
	   my($query) = @_;
 
	   print $query->startform;
	   print "<EM>What's your name?</EM><BR>";
	   print $query->textfield('name');
	   print $query->checkbox('Not my real name');
 
	   print "<P><EM>Where can you find English Sparrows?</EM><BR>";
	   print $query->checkbox_group(
				 -name=>'Sparrow locations',
				 -values=>[England,France,Spain,Asia,Hoboken],
				 -linebreak=>'yes',
				 -defaults=>[England,Asia]);
 
	   print "<P><EM>How far can they fly?</EM><BR>",
		$query->radio_group(
			-name=>'how far',
			-values=>['10 ft','1 mile','10 miles','real far'],
			-default=>'1 mile');
 
	   print "<P><EM>What's your favorite color?</EM>  ";
	   print $query->popup_menu(-name=>'Color',
				    -values=>['black','brown','red','yellow'],
				    -default=>'red');
 
	   print $query->hidden('Reference','Monty Python and the Holy Grail');
 
	   print "<P><EM>What have you got there?</EM><BR>";
	   print $query->scrolling_list(
			 -name=>'possessions',
			 -values=>['A Coconut','A Grail','An Icon',
				   'A Sword','A Ticket'],
			 -size=>5,
			 -multiple=>'true');
 
	   print "<P><EM>Any parting comments?</EM><BR>";
	   print $query->textarea(-name=>'Comments',
				  -rows=>10,
				  -columns=>50);
 
	   print "<P>",$query->reset;
	   print $query->submit('Action','Shout');
	   print $query->submit('Action','Scream');
	   print $query->endform;
	   print "<HR>\n";
	}
 
	sub do_work {
	   my($query) = @_;
	   my(@values,$key);

	   print "<H2>Here are the current settings in this form</H2>";

	   foreach $key ($query->param) {
	      print "<STRONG>$key</STRONG> -> ";
	      @values = $query->param($key);
	      print join(", ",@values),"<BR>\n";
	  }
	}
 
	sub print_tail {
	   print <<END;
	<HR>
	<ADDRESS>Lincoln D. Stein</ADDRESS><BR>
	<A HREF="/">Home Page</A>
	END
	}