Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re^3: CGI Post query

by merlyn (Sage)
on Jul 05, 2006 at 14:20 UTC ( #559346=note: print w/replies, xml ) Need Help??

in reply to Re^2: CGI Post query
in thread CGI Post query

You should unlearn this one though... it will come to bite you when you are using checkboxes or select-multiple option boxes. Understand that there can be multiple values for a given param, and simply ask for them as you need them. I really don't see what's so hard about:
my $last_name = param('last_name'); # only one last name ... my @colleges_attended = param('colleges_attended'); # possibly 0 or ma +ny colleges attended
That is, asking for it as you need it. Why does everyone wanna keep copying it into a hash? (It boggles me.)

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.

Replies are listed 'Best First'.
Re^4: CGI Post query
by ant (Scribe) on Jul 06, 2006 at 08:38 UTC
    You asked why place the form into a hash?
    The Perl program uses 6 Perl Modules, collects information from about 60 fields and then makes calls to the other modules to enter and retrieve information from databases, check data constraints, etc. Presently the code calls one param at a time and then passes upto a dozen scalar variables to the various other procedures in different modules.
    There are no checkboxes or radio buttons, and currently there are no plans for any files to be uploaded, and this probally won't change in the future.
    It just seemed easier to load the form into a hash and then pass the reference of the hash around all the different modules to access all the various parts of the form, rather than have having vast amount of scalar variables declared all over the different modules .
    But perhaps I'm wrong, it won't be the first time ;-)
    Any more thoughts on this would be great.

      If you are passing the values of the parameters around in your program you might want to consider using the OO interface to CGI and pass the CGI object around instead and use $cgi->param() in the subroutines. This has the side benefit that if you find that you require more parameters in a subroutine you won't need to change the arguments.


Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://559346]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2023-12-03 21:00 GMT
Find Nodes?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?

    Results (20 votes). Check out past polls.