I'm trying to understand how to convert my CGI scripts to use modules. My first step is to create a "SetUp" module where I can store common stuff. I put together a module and script to test it with but it doesn't work. It doesn't display the first (default) and last options correctly and I can't figure out why.

Does anyone here see what I'm doing wrong?
--
Bill Stephenson

============ start script
#!/usr/bin/perl

use CGI;
use CGI::Carp('fatalsToBrowser');
use SetUp;
use strict;

my $SETUP = new SetUp;
my $P = new CGI;

my $c_state = $P->popup_menu(-name=>'c_state',
                            -values=>[$SETUP->states_values],
                            -labels=>{$SETUP->states_labels},
                            -default=>'Select');


print $P->header, $P->start_html, $P->start_form;
print $c_state, $P->p, $P->submit;
print $P->end_form, $P->end_html;

============ end script


============ start module
package SetUp;

use strict;
use warnings;
use vars qw($VERSION);
$VERSION = '0.01';


sub new {
  my $package = shift;
  return bless({}, $package);
}


sub states_values {

return my @states_values=('Select',
'AL', 'AK', 'AS', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC','FL',
'GA', 'GU', 'HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'ME',
'MH', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'MT', 'NE','NV','NH',
'NJ', 'NM', 'NY', 'NC', 'ND', 'MP','OH', 'OK', 'OR', 'PW','PA',
'PR', 'RI','SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VA', 'WA', 'WV',
'WI', 'WY', '--', 'AB', 'BC', 'MB', 'NB', 'NF', 'NT', 'NS', 'NU',
'ON', 'PE', 'QC', 'SK', 'YT', '---', 'AG', 'BJ', 'BS', 'CP', 'CH',
'CU', 'CL', 'CI', 'DF', 'DG', 'GR', 'GJ', 'HG', 'JA', 'EM', 'MH',
'MR', 'NA', 'NL', 'OA', 'PU', 'QA', 'QR', 'SL', 'SI', 'SO', 'TA',
'TM', 'TL', 'VL', 'YC', 'ZT');
}

sub states_labels {

return my %states_labels=( 'Select' =>'== Select State ==', # this displays "Select"
                                                   'AL'=>'AL - Alabama',
                                                   'AK'=>'AK - Alaska',
                                                   'AS'=>'AS - American Samoa',
                                                   'AZ'=>'AZ - Arizona',
                                                   'AR'=>'AR - Arkansas',
                                                   'CA'=>'CA - California',
                                                   'CO'=>'CO - Colorado',
                                                   'CT'=>'CT - Connecticut',
                                                   'DE'=>'DE - Delaware',
                                                   'DC'=>'DC - District of 
Columbia',
                                                   'FL'=>'FL - Florida',
                                                   'GA'=>'GA - Georgia',
                                                   'GU'=>'GU - Guam',
                                                   'HI'=>'HI - Hawaii',
                                                   'ID'=>'ID - Idaho',
                                                   'IL'=>'IL - Illinois',
                                                   'IN'=>'IN - Indiana',
                                                   'IA'=>'IA - Iowa',
                                                   'KS'=>'KS - Kansas',
                                                   'KY'=>'KY - Kentucky',
                                                   'LA'=>'LA - Louisiana',
                                                   'ME'=>'ME - Maine',
                                                   'MH'=>'MH - Marshall 
Islands',
                                                   'MD'=>'MD - Maryland',
                                                   'MA'=>'MA - Massachusetts',
                                                   'MI'=>'MI - Michigan',
                                                   'MN'=>'MN - Minnesota',
                                                   'MS'=>'MS - Mississippi',
                                                   'MO'=>'MO - Missouri',
                                                   'MT'=>'MT - Montana',
                                                   'NE'=>'NE - Nebraska',
                                                   'NV'=>'NV - Nevada',
                                                   'NH'=>'NH - New Hampshire',
                                                   'NJ'=>'NJ - New Jersey',
                                                   'NM'=>'NM - New Mexico',
                                                   'NY'=>'NY - New York',
                                                   'NC'=>'NC - North Carolina',
                                                   'ND'=>'ND - North Dakota',
                                                   'MP'=>'MP - Northern Mariana 
Islands',
                                                   'OH'=>'OH - Ohio',
                                                   'OK'=>'OK - Oklahoma',
                                                   'OR'=>'OR - Oregon',
                                                   'PW'=>'PW - Palau',
                                                   'PA'=>'PA - Pennsylvania',
                                                   'PR'=>'PR - Puerto Rico',
                                                   'RI'=>'RI - Rhode Island',
                                                   'SC'=>'SC - South Carolina',
                                                   'SD'=>'SD - South Dakota',
                                                   'TN'=>'TN - Tennessee',
                                                   'TX'=>'TX - Texas',
                                                   'UT'=>'UT - Utah',
                                                   'VT'=>'VT - Vermont',
                                                   'VA'=>'VA - Virginia',
                                                   'WA'=>'WA - Washington',
                                                   'WV'=>'WV - West Virginia',
                                                   'WI'=>'WI - Wisconsin',
                                                   'WY'=>'WY - Wyoming',
                                                   '--'  =>'== Select Canadian 
Province ==',
                                                   'AB'=>'AB - Alberta (CAN)',
                                                   'BC'=>'BC - British Columbia 
(CAN)',
                                                   'MB'=>'MB - Manitoba (CAN)',
                                                   'NB'=>'NB - New Brunswick 
(CAN)',
                                                   'NF'=>'NF - Newfoundland 
(CAN)',
                                                   'NT'=>'NT - Northwest 
Territories (CAN)',
                                                   'NS'=>'NS - Nova Scotia 
(CAN)',
                                                   'NU'=>'NU - Nunabut (CAN)',
                                                   'ON'=>'ON - Ontario (CAN)',
                                                   'PE'=>'PE - Prince Edward 
Island (CAN)',
                                                   'QC'=>'QC - Quebec (CAN)',
                                                   'SK'=>'SK - Saskatchewan 
(CAN)',
                                                   'YT'=>'YT - Yukon Territory 
(CAN)',
                                                   '---'  =>'== Select Mexican 
State ==',
                                                   'AG'=>'AG - Aguascalientes',
                                                   'BJ'=>'BJ - Baja California 
North',
                                                   'BS'=>'BS - Baja California 
South',
                                                   'CP'=>'CP - Campeche ',
                                                   'CH'=>'CH - Chiapas',
                                                   'CU'=>'CU - Coahuila',
                                                   'CL'=>'CL - Colima',
                                                   'CI'=>'CI - Chihuahua',
                                                   'DF'=>'DF - Districto 
Federal Mexico',
                                                   'DG'=>'DG - Durango',
                                                   'GR'=>'GR - Guerrero',
                                                   'GJ'=>'GJ - Guanajuato',
                                                   'HG'=>'HG - Hidalgo',
                                                   'JA'=>'JA - Jalisco',
                                                   'EM'=>'EM - Mexico State',
                                                   'MH'=>'MH - Michoacan',
                                                   'MR'=>'MR - Morelos',
                                                   'NA'=>'NA - Nayarit',
                                                   'NL'=>'NL - Nuevo Leon',
                                                   'OA'=>'OA - Oaxaca',
                                                   'PU'=>'PU - Puebla',
                                                   'QA'=>'QA - Queretaro',
                                                   'QR'=>'QR - Quintana Roo',
                                                   'SL'=>'SL - San Luis Potosi',
                                                   'SI'=>'SI - Sinaloa',
                                                   'SO'=>'SO - Sonora',
                                                   'TA'=>'TA - Tabasco',
                                                   'TM'=>'TM - Tamaulipas',
                                                   'TL'=>'TL - Tlaxcala',
                                                   'VL'=>'VL - Veracruz',
                                                   'YC'=>'YC - Yucatan',
                                                   'ZT'=>'ZT - Zacatecas'); # this 
displays "ZT"
}

1;
============ end module


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to