in reply to Handling Dynamically Created Forms

I believe that all your params passed to your script are in the %in hash. To iterate over the whole hash something like that might work:

foreach my $i (keys %in){ print "$i: $in{$i}\n"; }

As a side note, the ReadParse methode of CGI.pm (you are using CGI.pm, right?) is deprecated. You should not use it for new code.

Official ways to fetch all parameters at once from a CGI are:

@names = $query->param;
Put all the parameters into an array.
$query->import_names('R');
Imports all the parameters name in a namespace (i.e. to access the parameter 'name', one should write $R::name.
</code> <kbd>--
my $OeufMayo = new PerlMonger::Paris({http => 'paris.mongueurs.net'});</kbd>

Replies are listed 'Best First'.
Re: Re: Handling Dynamically Created Forms
by buckaduck (Chaplain) on Mar 21, 2001 at 04:22 UTC
    To be more blatantly precise, you can grab the parameters "name1", "name2", etc. like this:
    foreach my $i (grep {/^name\d+$/} keys %in) { print "$i: $in{$i}\n"; }
    buckaduck
Re: Re: Handling Dynamically Created Forms
by one4k4 (Hermit) on Mar 21, 2001 at 18:24 UTC
    I'm going to agree with the:
    foreach my $i (keys %in){ print "$i: $in{$i}\n"; }

    idea. That seems to be the best way, and it wouldnt be too hard to -use- the data either. If you're sending out an e-mail, just spit the key - value pairs out to wherever you need them. You could do something with a large case statement, but that depends on the app.

    Using a hidden field is nice, but it still doesnt get you the names of each of the keys. For that you still have to call keys %n, and you might as well just use the foreach loop.

    _14k4 - webmaster@860.org (www.poorheart.com)