14.01.2007, 19:46
общий
это ответ
Доброе время суток, Олег Владимирович
а чем вас не устроил вариант с CGI ? для начинающих очень даже будет полезно.
если вас не устраивает объём модуля, одиновременно подгружающийся в память, то это отнюдь не повод винить Линкольна - он со своей задачей справился успешно, тут вопрос уже в ваших предубеждениях и интересах разработки.
вернёмся к вопросу ^_^
здесь идея удаления cookie сводится к тому, чтобы СОЗДАТЬ тот же cookie, с тем же параметром, НО С ПУСТЫМ ЗНАЧЕНИЕМ или заведомо ошибочным
вот пример вам:
_________________________________________________
===========================================
для установки используем:
use CGI qw(:standard);
my $cookie = cookie(
-name=>‘fortressa‘,
-value=>‘34857369837986734968793‘
);
print header(-charset=>‘windows-1251‘, -cookie=>$cookie);
===========================================
для удаления пишем вот что -
use CGI qw(:standard);
my $cookie = cookie(
-name=>‘fortressa‘,
-value=>‘‘
);
print header(-charset=>‘windows-1251‘, -cookie=>$cookie);
этим, собственно добиваемся заведомо неверной установки параметра и, в частности, решаем проблему
_________________________________________________
вы хотели вариант без модуля Штейна, вариант будет таким же, но, как договорились, без модуля:
#Значения наших параметров по умолчанию
$param_quan=10;
$param_sort=0;
#Обрабатываем cookies
$cookie_data=$ENV{‘HTTP_COOKIE‘};
@c=split (‘; ‘,$cookie_data);
foreach $itm(@c){
($c_n,$c_v)=split(‘=‘, $itm);
$COOKIE{$c_n}=$c_v;
};
#Если параметры установлены в cookie, они "переписывают"
#значения по умолчанию
if (defined ($COOKIE{‘quan‘})){$param_quan=$COOKIE{‘quan‘};};
if (defined ($COOKIE{‘sort‘})){$param_sort=$COOKIE{‘sort‘};};
вот исход к последнему решению "БЕЗ CGI"
http://www.cgi-scripts.info/perl/cookies.shtml
с уважением, удачи