by the way, :) is a smiley, it means I'm joking with you. (reference the last email)

With mine, there is nothing beyond what I described.  The hash structure I gave you 
below, that's
it.  Form.pm takes the input, makes a hash with it, and if you understand how to use a 
hash and
array ref, your set.  Its just a hash, no objects, no functions, just a hash.

So you use:

use Form.pm
my %input = Form();

and your done.  All the data is sitting in the hash %input.  You can at that point do 
anything you
want to with it.

Like I say, simple and efficient.

If you decide you want to know what you are getting from the cgi input, simply do 
something to this
effect:
-------------------------------------------------------------------------------
foreach $key(keys(%input)){  # loop through all of the hash elements

    if (ref($input{$key}) eq "ARRAY"){  # if this is an array ref

        local $" = '", "';  # change the array delimiter to ", " temporarily for 
display
        print qq^\@{\$input{$key}} = ("@{$input{$key}}")\n^;
        # print out the array's values
        # (make it easy to see which name in the hash this array belongs to)

    } else {  # if its not an array ref

        print qq^\$input{$key} = "$input{$key}"\n^;  # print out the hash element

    }

}
-------------------------------------------------------------------------------

Anyway, you will be able to get a closer look at it within a months time if you so 
choose.

David


----- Original Message -----
From: "Scot Robnett" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, June 27, 2002 10:03 AM
Subject: RE: CGI.pm v/s roll-your-own [WAS:] Displaying Problems


I haven't seen the rest of your module, so I'm not so sure that the point
really stands. It might. But, adding one line to initialize the CGI object
is really not that big a deal considering the kind of power you have
associated with that object. How much extra work do I have to do to utilize
the keys and values in your hash vs. the CGI.pm hash?

The data structure you get back from CGI.pm is:

- Called in a scalar context, a tied hash reference.

- Called in a list context, a standard hash
  containing key/value pairs.

- Keys/params with multiple values are returned
  as a packed string separated by \0.


Scot R.
inSite



-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Thursday, June 27, 2002 10:44 AM
To: Scot Robnett; [EMAIL PROTECTED]
Cc: Felix Geerinckx
Subject: Re: CGI.pm v/s roll-your-own [WAS:] Displaying Problems


my point stands :)

So out of curiosity, what kind of data structure do you get back with this?
If its as I would
imagine, then its very close to my own.

%hash = (
    'a_name' => 'value',   # for single name value pairs
    'b_name' => ["multiple", "values", "for", "this"],   # for single name
muli-value sets
    'c_name' => {
         'original_name' => 'filename.jpg',
         'size' => '23554',
         'location' =>
'/tmp/fileupload/tmpfile-10028983-88.57.192.3-2783-298374-927837'
     } # for files
);

Of coarse I know the image information is not in there the same way.

David


----- Original Message -----
From: "Scot Robnett" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Cc: "Felix Geerinckx" <[EMAIL PROTECTED]>
Sent: Thursday, June 27, 2002 8:29 AM
Subject: RE: CGI.pm v/s roll-your-own [WAS:] Displaying Problems


Picky, picky. :)
You're right, my bad.

use CGI;
my $q = new CGI;
my %params = $q->Vars;


SR




-----Original Message-----
From: Felix Geerinckx [mailto:[EMAIL PROTECTED]]
Sent: Thursday, June 27, 2002 2:16 AM
To: [EMAIL PROTECTED]
Subject: RE: CGI.pm v/s roll-your-own [WAS:] Displaying Problems


on Thu, 27 Jun 2002 02:54:10 GMT, [EMAIL PROTECTED] (Scot Robnett)
wrote:

>>     Its pretty hard to make it more simple than:
>> use Form;
>> my %input = Form();
>
>      Let me try.
>
>      ################
>      use CGI;
>      %params = $q->Vars;
>      ################

Try again. Your code throws the following error:

    Can't call method "Vars" on an undefined value ...

--
felix

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.372 / Virus Database: 207 - Release Date: 6/20/2002

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.372 / Virus Database: 207 - Release Date: 6/20/2002


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.372 / Virus Database: 207 - Release Date: 6/20/2002

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.372 / Virus Database: 207 - Release Date: 6/20/2002


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to