in reply to popup_menu CGI.pm problems

Hi kmullin5016,

Try this:

+ use strict; use warnings; use CGI; + my $CGI = new CGI; + my $menu_values = {'one' => 'eenie', 'two' => 'meenie', 'three' => 'mi +nie'}; + print $CGI->popup_menu(-name=>'menu_name', -values=>$menu_values);

If you had used strict and warnings in your code, you would have seen the error:

Reference found where even-sized list expected at test.pl line 18.

which might have tipped you off that your were trying to assign a hash reference to a hash.

When you use parentheses ( ... ), it's a plain hash; when you use braces { ... } it's a hash reference (like a pointer to a hash).

Use the latter, and it produces the same output as in your first example which you said "works fine".

Oh, and you apparently had your arguments backward in the hash.  I just reversed the order ('eenie' => 'one' becomes 'one' => 'eenie'), and got the output that you said was correct (ie. the same as print $CGI->popup_menu(-name=>'menu_name', -values=>{'one'=>'eenie', 'two'=>'meenie', 'three'=>'minie'});):

<select name="menu_name"> <option value="three">minie</option> <option value="one">eenie</option> <option value="two">meenie</option>

s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/