Here's the Perl script that I wrote to process reservations to the Cat and Otter Bistro (see the WAP/WML chapter):
#!/usr/local/bin/perl use strict; use CGI ':standard'; print "Content-type: text/vnd.wap.wml\n\n"; print '<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card>'; my $number = param('number'); my $smoke = param('smoke'); my $dinner_index = param('dinner_index'); $number =~ /([0-9]*)/ ; $number = $1; if ($number<=0) { print "<p>You can't make a reservation for 0 (or less) people! Try again.</p>" } elsif ($number>=1) { print "<p>Thank you for your reservation. We'll hold a table for "; if ($number==1) { print "one person"; } else { print "$number people"; } if (lc $smoke eq 'yes') { print " in the smoking section. "; } else { print " in the non-smoking section. "; } my @entrees = ('Chicken Parmesian', 'Filet Mignon', 'Veal Cutlets', 'Seafood Fideua', 'Rice and Beans', 'Pasta Primavera', 'Spinach Ravioli'); if (1 <= $dinner_index && $dinner_index <= 7) { $dinner_index--; print "And we'll save you some @entrees[$dinner_index]."; } } print '</p><do type="accept"> <go href="http://www.cookwood.com/html5ed/examples/wap_wml/complete.wml" /> </do></card></wml>';