1#!/usr/local/bin/perl
2     
3use CGI;
4use CGI::Carp qw/fatalsToBrowser/;
5 
6$query = new CGI;
7
8print $query->header;
9print $query->start_html("Example CGI.pm Form");
10print "<H1> Example CGI.pm Form</H1>\n";
11&print_prompt($query);
12&do_work($query);
13&print_tail;
14print $query->end_html;
15 
16sub print_prompt {
17   my($query) = @_;
18 
19   print $query->start_form;
20   print "<EM>What's your name?</EM><BR>";
21   print $query->textfield('name');
22   print $query->checkbox('Not my real name');
23 
24   print "<P><EM>Where can you find English Sparrows?</EM><BR>";
25   print $query->checkbox_group(
26				-name=>'Sparrow locations',
27				-Values=>[England,France,Spain,Asia,Hoboken],
28				-linebreak=>'yes',
29				-defaults=>[England,Asia]);
30 
31   print "<P><EM>How far can they fly?</EM><BR>",
32   $query->radio_group(
33		       -name=>'how far',
34		       -Values=>['10 ft','1 mile','10 miles','real far'],
35		       -default=>'1 mile');
36   
37   print "<P><EM>What's your favorite color?</EM>  ";
38   print $query->popup_menu(-name=>'Color',
39			    -Values=>['black','brown','red','yellow'],
40			    -default=>'red');
41 
42   print $query->hidden('Reference','Monty Python and the Holy Grail');
43 
44   print "<P><EM>What have you got there?</EM><BR>";
45   print $query->scrolling_list(
46				-name=>'possessions',
47				-Values=>['A Coconut','A Grail','An Icon',
48					  'A Sword','A Ticket'],
49				-size=>5,
50				-multiple=>'true');
51 
52   print "<P><EM>Any parting comments?</EM><BR>";
53   print $query->textarea(-name=>'Comments',
54			  -rows=>10,
55			  -columns=>50);
56   
57   print "<P>",$query->reset;
58   print $query->submit('Action','Shout');
59   print $query->submit('Action','Scream');
60   print $query->endform;
61   print "<HR>\n";
62 	}
63 
64sub do_work {
65    my($query) = @_;
66    my(@values,$key);
67
68    print "<H2>Here are the current settings in this form</H2>";
69
70    foreach $key ($query->param) {
71	print "<STRONG>$key</STRONG> -> ";
72	@values = $query->param($key);
73	print join(", ",@values),"<BR>\n";
74    }
75}
76 
77sub print_tail {
78    print <<END;
79<HR>
80<ADDRESS>Lincoln D. Stein</ADDRESS><BR>
81<A HREF="/">Home Page</A>
82END
83    ;
84}
85