我知道如何在cookie中传递一个值(变量),但是如何在一个cookie中发送多个值。这是我做饼干的方式
发送:
my $name = $query->param('name');
print "Set-Cookie:name=$name\n";
读:
$name = cookie('name');
现在我有其他变量,如身高,体重等。我该怎么做?
提前致谢
答案 0 :(得分:1)
可能有更好的方法,但这是一个便宜而简单的想法:
use MIME::Base64; # for encode_base64 / decode_base64
use YAML::XS; # for Dump and Load
# Setting the cookie:
# -- Put the keys you want to store in a hash
# -- encode as follows:
my $cookie_value = encode_base64( Dump( \%hash ) );
print "Set-Cookie:monster=$cookie_value\n";
# To decode the cookie:
# -- Get the cookie value into a string
# -- Decode into a hashref as follows:
my $cookie_hash = Load( decode_base64( $cookie_value ) );
这样可以让你在cookie中加入尽可能多的cookie,直到最大cookie长度为止。
您可以在cpan.org找到这些模块: