Nice corollary, but this isn't really what Tie::HashWrapper addresses.
Tie::HashWrapper is a general utility that could be used by you to clean
up your code that was:
tie %tied, 'MyDBM', ...;
my $q = CGI->new($tied{key});
$q->param("x", "y");
$tied{key} = $q->query_string;
to
tie %wrappee, 'MyDBM', ...;
tie %tied, 'Tie::HashWrapper', \%wrappee,
-deflate_value => sub { shift->query_string },
-inflate_value => sub { CGI->new(shift)->Vars };
$tied{key}{x} = "y";
Regards,
Sterling
On Wed, 2003-12-17 at 14:12, Mark Stosberg wrote:
> On Wed, Dec 17, 2003 at 02:00:23PM -0600, Andrew Sterling Hanenkamp wrote:
> >
> > Therefore, I went in search of a solution to automate the
> > stringification. I didn't find anything other than MLDBM for doing
> > something like this and it seems like a little much for my purposes. All
> > I need is something like this:
>
> When I want to do this, I just use CGI.pm. With it, you can pass a hash
> to the 'new' constructor, and use query_string() function (I think) to
> get back a stringified version.
>
> Likewise, you can pass a query-string to the constructor, and get a hash
> structure back. Keys with multiple values are supported, although I
> usually don't have that case.
>
> Your solution may well be cleaner for general cases.
>
> Mark
--
<>< ><> <>< ><> <>< ><> <>< ><> <>< ><> <>< ><> <>< ><> <>< ><> <>< ><>
Andrew Sterling Hanenkamp
http://Andrew.Sterling.Hanenkamp.com/
[EMAIL PROTECTED] / [EMAIL PROTECTED]
C makes it easy for you to shoot yourself in the foot. C++ makes
that harder, but when you do, it blows away your whole leg.
-- Bjarne Stroustrup