in reply to Re: Variable Variables
in thread Variable Variables

Using CGI's built-in method handles multi-valued parameters correctly.

Actually I tried it ($cg->import_names('Q')) and it still loses values on muti-valued params. - Bob Niederman

Replies are listed 'Best First'.
Re: Re: Re: Variable Variables
by chipmunk (Parson) on Dec 06, 2000 at 02:34 UTC
    I just tried it too. It turns out that import_names() does this in an interesting fashion; it imports all parameters as both scalars and arrays.
    #!/usr/local/bin/perl use CGI; my $query = new CGI ( { single => 'one', multi => ['two', 'three'], } ); $query->import_names('Q'); 1;
    Now, using the debugger to examine the results:
    Loading DB routines from perl5db.pl version 1.0402 Emacs support available. Enter h or `h h' for help. main::(tmp.cgi:5): my $query = new CGI ( { single => 'one', main::(tmp.cgi:6): multi => ['two', 'thr +ee'], DB<1> n main::(tmp.cgi:10): $query->import_names('Q'); DB<1> n main::(tmp.cgi:12): 1; DB<1> V Q $single = 'one' @single = ( 0 'one' ) $multi = 'two' @multi = ( 0 'two' 1 'three' ) DB<2>