The problem is that input fields can have more than one value. When this happens, CGI::param() will return an array of values. This will break things when you later decide to convert your array into a hash.

Yes, I simplified it for this example. Normally, I exclude from the hash any upload fields (handling them separately), and any fields that have multiple values, instead putting them into arrays.

Another problem is that you are relying on the client browser to send the data to you in the same order that it appears on the form. I think the only way you can be guaranteed to get the data in the correct order is if you store a configuration that you can use later to put the data in the correct order.

Previously, when I have put CGI parameters into a hash, I was not relying on their order. In the scenario described above, I was hoping to, to avoid 'manually' putting the data in order. The whole point of my question was to find out if I could do this. I have found my answer from the helpful responses above, which is no. As usual with this site, I also learned several better ways to do things. Thanks everyone.

bassplayer


In reply to Re: Re: CGI Parameters in order by bassplayer
in thread CGI Parameters in order by bassplayer

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.