in reply to CGI::cookie query

Something you may want to think about... there is a limit to something like 20 cookies per site in browsers, after that they delete them. Each cookie can be like, 1 or 4k not sure which, you may just want to encode your hash into a single string and write it into a single cookie.

something like:

$cookie = join "\0", %hash; $cookie =~ s/(\W)/'%'.sprintf("%02lx",ord($1))/ge; #... print cookie ... #read cookie back to hash... $cookie =~ s/%([a-fA-F\d][a-fA-F\d])/chr(hex($1))/ge; %hash = split "\0", $cookie;
as long as you don't have a really large hash, or one that contains \0 in it, that oughtta work fine and solve your problem
                - Ant