-------- Original Message  --------
From: "Philip M. Gollucci" <[EMAIL PROTECTED]>
To: Jeff <[EMAIL PROTECTED]>
Cc: mod_perl List <modperl@perl.apache.org>
Subject: Re:Apache2::Cookies - getting all names
Date: Wed Dec 28 2005 16:38:44

Convesly, we could patch the code instead of the docs to make it do what the docs said originally ?
Index: Cookie.pm
===================================================================
--- Cookie.pm   (revision 359541)
+++ Cookie.pm   (working copy)
@@ -40,7 +40,7 @@
     my $jar = $req->jar or return;
     $jar->cookie_class(__PACKAGE__);
     return $jar->get(shift) if @_;
-    return wantarray ? %$jar : $jar;
+    return wantarray ? keys %$jar : $jar;
 }

I'm betting the code change is what we want here.


Oh lovely tied hashness :) I agree about the code change - code posted by others shows that folks are coding round the bugette. Maybe what should really happen is:

my @names = $jar->names();
my @cookies = $jar->cookies();

Where the first returns the keys of %$jar and the second returns the values of %$jar. Unfortunately, this is not backwardly compatible :( - so how about something like:

my @names     = $jar->cookies();      # just the names
my @cookies   = $jar->all_cookies();  # all the cookies ie value %$jar
my @allnames  = $jar->all_names();    # all the names ie keys %$jar

and deprecate wantarray $jar->cookies() in favour of $jar->all_names()? I personally don't like that the return value of $jar->cookies() is sometimes cookie[s] and sometimes names and sometimes the jar itself.

In fact, the all_cookies() is what I really really want :) and have ended up coding. I want to know if I am suffering multi-same-named cookies!

Regards,
Jeff




Reply via email to