For the longest time, I thought that I must be doing something wrong when using cookies. My code works with Netscape (and Mozilla), but not with Opera or IE. I've noticed that Opera only accepts the cookie 'periodically', while Netscape accepts it every time. I can then read the cookie back from a Netscape browser, but never from Opera or IE. I've debugged the actual HTTP transaction, and as far as I can tell, the format is correct (including proper newlines). I've also tried multiple ways of setting the cookie and reading it (from manual to CGI::Cookie, and HTTP_COOKIE to CGI::Cookie). Has anyone else had a similar problem, or am I still missing something? Here is the code that I use to write, and then read my cookie:
Set:
$cookie = cookie (-name => 'admissions',
-value => 'true',
-expires => '+10m',
-path => '/admissions');
my ($site) = './cook.cgi';
print redirect (-cookie => $cookie,
-url => $site);
Get:
my (%cookies) = fetch CGI::Cookie; #now iterate thru hash
Thanks for your help...
-Ben