Oh! Didn't think about that.
Yes, that looks like a very workable solution.
Thanks again.
-John
On 12/10/02 11:33 AM, "Larry Coffin" <[EMAIL PROTECTED]> wrote:
> At 2:15 PM -0500 12/10/02, John Stokes wrote:
>> Ah yes... That makes sense.
>>
>> That's the solution I've used in other cases (for instance, resolving a CGI
>> param to a path.) Unfortunately, it's not really practical to define a bunch
>> of temporary variables for a form that may have hundreds (literally) of
>> input fields.
>
> Doing that is probably going to be easier than writing really
> robust query string code. If you are worried about keeping your code short
> and sweet, then use a hash:
>
> foreach my $key ($q->param()) {
> $form_data{$key} = $q->param($key);
> }
>
> Or even (according to the man page, although I haven't used it):
>
> %form_data = $q->Vars();
>
> Be careful though, in that these simple cases won't handle
> multi-value values quite the way you might expect.
>
>
> Then you can call values by name when/if you need them:
>
> print <<FORM_END
>
> Name: $form_data{'name'}
>
> FORM_END
>
> ---Larry
>
>> So, it looks like I'm back to where I was before: splitting the string on &
>> before I process %26.
>>
>> That's still OK. It's a better solution than what I'm doing now.
>>
>> Thanks again all (esp. Larry).
>>
>> -John
>>
>> On 12/10/02 11:03 AM, "Larry Coffin" <[EMAIL PROTECTED]> wrote:
>>
>>>> Print >> End_form;
>>>>
>>>> Name: $q->param("name")
>>>>
>>>> End_form
>>>
>>> That's because you can't execute perl code within this construct.
>>> It is essentially a double quoted string that just happens to span multiple
>>> lines. So, this doesn't work just like:
>>>
>>> print "Name $q->param('name')\n";
>>>
>>> won't work the way you want it to.
>>>
>>> You have to get the value in a variable first:
>>>
>>> $name = $q->param('name');
>>>
>>> print <<End_form;
>>>
>>> Name: $name
>>>
>>> End_form
>>>
>>>
>>> ---Larry
>>>
>>>
>>> +------------------------------------------------------------------------+
>>> | Larry Coffin, G.P.H. Watertown, MA |
>>> | http://www.PointInfinity.com/lcoffin/ [EMAIL PROTECTED] |
>>> +------------------------------------------------------------------------+
>>>
>>> Money is the root of all evil, and man needs roots
>>>
>>>
>>> -
>>>
>>
>> --
>> -John Stokes
>> Computer Psychiatrist (Director of Information Technology)
>> Church Resource Ministries
>> [EMAIL PROTECTED]
>>
>> Three Pillars: Humility, Communication, Balance
>>
>>
>> --
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
> +------------------------------------------------------------------------+
> | Larry Coffin, G.P.H. Watertown, MA |
> | http://www.PointInfinity.com/lcoffin/ [EMAIL PROTECTED] |
> +------------------------------------------------------------------------+
>
> Money is the root of all evil, and man needs roots
>
>
> -
>
--
-John Stokes
Computer Psychiatrist (Director of Information Technology)
Church Resource Ministries
[EMAIL PROTECTED]
Three Pillars: Humility, Communication, Balance
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]