Как обновить значение Cookie с помощью perl? - PullRequest
2 голосов
/ 05 апреля 2011

Я создаю cookie в первом файле и хочу обновить значение cookie во втором файле. Я использую следующий код для чтения и обновления значения cookie. Но это не работает.

my $new_value = 'modify';
my %cookies = fetch CGI::Cookie;

foreach (keys %cookies) {
    ### I want to change value of NewCookie
    if($_ eq 'NewCookie')   {
        my $val_cookie = $cookies{'NewCookie'}->value;
        warn "\n value of NewCookie =>" . $val_cookie;
        $cookies{'NewCookie'}->value = $new_value; ###I don't know is it work or not
    }
} 

Я получаю эту ошибку «Невозможно изменить вызов подпрограммы без значения в»

Ответы [ 2 ]

2 голосов
/ 05 апреля 2011

Я думаю, что ваша проблема в этой строке кода:

$cookies{'NewCookie'}->value = $new_value;

$cookies{'NewCookie'}->value() - это метод.Вы пытаетесь присвоить значение методу.Я не очень знаком с CGI :: Cookie, но, возможно, вам нужно изменить эту строку кода, чтобы она выглядела так:

$cookies{'NewCookie'}->value($new_value);
0 голосов
/ 27 декабря 2013

Это старый обв.но только для хорошей меры - вам нужно испечь cookie после изменения его значения или любого другого свойства.В этом случае так:

$cookies{'NewCookie'}->bake;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...