Quoting Johan Vromans on 2000 Dec 30:
>I would propose to split the functionality. For example,
>Data::MultiValuedHash that handles the hash with multiple values, and
>CGI::MultiValuedHash, which derives from Data::MultiValuedHash, that
>adds the url encoding and other CGI specifics.

Thanks a lot Johan, that's an excellent idea.

It just goes to show that sometimes the ideal solution is right in 
front of me but I fail to see it.  And considering that I was trying 
to push the module as being two different things, a generic data 
structure and a CGI tool, it makes sense to split it up.  I must have 
been thinking that it couldn't get any more split-up before...

And so I *will* split the module as you suggested.  It is very easy to do...

The names you suggested for the pieces are good and descriptive, 
although a bit long.  But I don't think I can do any better.

The funny thing is that I had previously rejected using 
"multi-valued" with "hash" because it sounded like I was stating a 
property already normal with hashes.  That is, someone could say "of 
course hashes have multiple values, and they even have multiple 
keys"...

And so, here is appropriate DLSI for the new modules:

Data::MultiValuedHash - bdpO - Hash whose keys can have multiple 
ordered values.
CGI::MultiValuedHash  - bdpO - Store and manipulate url-encoded data.

These should be uploaded to CPAN tonight on approval, under the 
authorname of DUNCAND.

If anyone has further suggestions, such as whether the above should 
be separate distributions or a combined one (will do separate by 
default), please say.

Good days,

// Darren Duncan

Reply via email to