Dancer-Plugin-FakeCGI
view release on metacpan or search on metacpan
examples/cgi-bin/CGI_pm_monty.pl view on Meta::CPAN
#!/usr/local/bin/perl
use CGI;
use CGI::Carp qw/fatalsToBrowser/;
$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->start_form;
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
}
( run in 1.230 second using v1.01-cache-2.11-cpan-364913b4093 )