By Alvin Alexander. Last updated: June 4, 2016
Here's the source code for a Perl CGI popup menu example. (It's called a "popup menu" in the CGI.pm module, but it renders an HTML SELECT/OPTION form in a browser.)
The Perl code below shows how you can display an HTML form with a popup menu, using the Perl CGI.pm module. The first time this script is called it displays the popup menu (combo box) in a form. After you submit the form, this script displays the item you selected from the combo box.
Here's the source code for this Perl CGI.pm combo box example script:
#!/usr/bin/perl -Tw # # PROGRAM: popup_menu.cgi # # PURPOSE: Demonstrate (1) how to create a popup_menu form and # (2) how to determine the value selected by the user. # # Created by alvin alexander, devdaily.com. # #-----------------------------------# # 1. Create a new Perl CGI object # #-----------------------------------# use CGI; $query = new CGI; #----------------------------------# # 2. Print the doctype statement # #----------------------------------# print $query->header; #----------------------------------------------------# # 3. Start the HTML doc, and give the page a title # #----------------------------------------------------# print $query->start_html('My popup_menu.cgi program'); #------------------------------------------------------------# # 4a. If the program is called without any params, print # # the popup_menu form. # #------------------------------------------------------------# if (!$query->param) { print $query->startform; print $query->h3('Select a dinner entree:'); print $query->popup_menu(-name=>'entrees', -values=>['Steak','Seafood','Veggies'], -default=>'Veggies'); #Note: You can specify an optional '-labels' parameter to # let the user see one value, while you use a different # parameter in your program. Using the '-labels' parameter, # your popup_menu might be defined like this: # #print $query->popup_menu(-name=>'entrees', # -values=>['Steak', # 'Seafood', # 'Veggies'], # -default=>'Veggies', # -labels=>{'Steak'=>'Filet Mignon', # 'Seafood'=>'Maui Maui', # 'Veggies'=>'Hand-picked vegetables'}); print $query->br; print $query->submit(-value=>'Select your meal'); print $query->endform; } else { #----------------------------------------------------------# # 4b. If the program is called with parameters, retrieve # # the 'entrees' parameter, assign it to a variable named # # $yourMeal, and then print it out. # #----------------------------------------------------------# print $query->h3('Looks like you ordered:'); $yourMeal = $query->param('entrees'); print "<BLOCKQUOTE>\n"; print $yourMeal; print "</BLOCKQUOTE>\n"; } #--------------------------------------------------# # 5. After either case above, end the HTML page. # #--------------------------------------------------# print $query->end_html;
See this Perl CGI CGI.pm example in action
If it helps, you can see this Perl CGI.pm example in action at this url.