раз никто не ответил...
sub cook_me_babe {
#-------------------------
my $cook_me=($ENV{HTTP_COOKIE} || $ENV{COOKIE});
my @cook=split(/;/, $cook_me);
my($key, $val, %cook);
foreach my $kok(@cook){
($key, $val )=split(/=/, $kok);
#Ops, а енто сделать забыл, если б не flamio...
#т.е. добавлено, исправлено:
$key =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$key =~ tr/+/ /;
$val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$val =~ tr/+/ /;
$cook{$key}=($val||\'\');
}
return %cook;
}
Нужно разбить куки в хеш, не использую никаких модулей,
Все-таки не удержусь - Cookies.pm из пакета CGI.
Сам по себе небольшой модуль и очень полезный.
Иногда куки просто удобно проверять через регулярные выражения (если в куках проверяется наличие идентификатора)
ЗЫ: в строке $cook{$key}=($val||\'\');
\'\' - это не двойные кавычки ,а две одинарных \'
в Cookies.pm примерно такой же код, но более "корректный по смыслу" и доп. проверки контекста там есть - можно и оттуда parse выдрать.