in reply to Passing variable to another CGI.pm program
Hi deathmetalscottie,
say
substr+lc crypt(qw $i3 SI$),4,5
Make sure that you have a name defined for the <select> tag. In your code,you're using "$key", which you never define:
So if you fix that, for example, calling it "multi":my $key; ... <select name="$key" size="15" multiple="multiple">
Then you can see with a quick test which names were chosen, in sum.cgi, like this:my $name = "multi"; # Renamed from $key to be less confusing # Sorry, I don't want to show my /etc/password :) my %user = ( 'fred' => 101, 'barney' => 102, 'wilma' => 103, 'betty' => 104, 'pebbles' => 105, 'bambam' => 106, ); ... <select name="$name" size="15" multiple="multiple"> foreach my $key(sort keys %user) { my $val = $user{$key}; if ($val > 100) { print qq{<option value="$key">$key ($val)</option><br />}; } }
For example, selecting the 2 values "bambam (106)" and "pebbles (105)":#!/usr/bin/perl use strict; use warnings; use CGI qw/:standard/; use CGI::Carp qw/fatalsToBrowser/; use Data::Dumper; my @users = param('multi'); die sprintf "Users selected: %s\n", Dumper(\@users);
and clicking "Go!" to call sum.cgi should show:*** bambam (106) **** barney (102) betty (104) fred (101) *** pebbles (105) *** wilma (103)
Software error: Users selected: $VAR1 = [ 'betty', 'wilma' ];
|
---|
In Section
Seekers of Perl Wisdom