在perl cookie中传递多个值

时间:2013-11-05 01:33:19

标签: perl cookies cgi send

我知道如何在cookie中传递一个值(变量),但是如何在一个cookie中发送多个值。这是我做饼干的方式

发送:

my $name = $query->param('name');
print "Set-Cookie:name=$name\n";

读:

$name = cookie('name');

现在我有其他变量,如身高,体重等。我该怎么做?

提前致谢

1 个答案:

答案 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找到这些模块: