For Programmers: Free Programming Magazines  


Home > Archive > PERL CGI Beginners > January 2005 > Fw: Modifying Parameter Values









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Fw: Modifying Parameter Values
Ron Wingfield

2005-01-04, 8:55 pm


----- Original Message -----
From: Ron Wingfield
To: mailto:beginners-cgi@perl.org
Sent: Tuesday, January 04, 2005 2:25 PM
Subject: Modifying Parameter Values


Hello all,

First-timer here. Please be gentle.

I'm posting this question on the Beginners List because the answer is probably going to be perfectly clear, once I understand it.

I've read a lot of doc's, etc. regarding passing parameters between html documents via the parameter-pairs listed in the query string of the url. Additionally, Guelich, Gundavaram and Birznieks' book, "CGI Programming" (2nd. ed., O'Reilly & Assoc., 2000), p. 94, explain how to "add" a new parameter to the query string via the url, e.g., the results of executing the following instruction:

$q->parm( title => "Web Developer" );

will appear as "&title=Web+Developer" in the query string. This works, but the authors suggest that a parameter can be "modified" and/or "deleted", too. I have assumed that this means that the parameter value in the url's query string can be (should be) modified as in changed? I cannot change a value, or delete a parameter from the query string in the url. If for example, I have a parameter, "table", that originates in pgm-A but is not assigned no value, then when the parameter is presented to pgm-B, the query string has a value of "&db_name=cookbook&table=&etc=etc". Notice that "&table=" is not associated with a value. If I execute an instruction such as:

$q->param( table => "vendors" );

.. . .the result is: "&db_name=cookbook&table=&etc=etc&table=vendors". Notice that the operation did not change the value of the existing "table" parameter, but "pushed" or ADDED another "table=vendors" pair onto the query string. Also, as the authors suggested, I have tried to execute:

$q->delete( "table" );

.. . .but this will not delete or otherwise remove the "table" parameter from the query string. Also, I've been scanning through the source for CGI.pm, and apparently there is not a packaged subroutine for something like "$q->modify( "table" );".

Suggestions?

Ron Wingfield

FreeBSD 4.8 -- apache http 2.0.28 -- MySQL client/server 4.1.7
Perl 5.8.5 -- p5-DBD-mysql-2.9004 driver -- p5-DBI-1.46

--------------------------------------------------------------------------------

Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com