Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > Cookies


Автор: AlexanderI 7.7.2004, 22:47
Напишите пожалуйста содержание perl файла который ставит и читает куки.

У меня не получается. Faq читал.
Делаю следующим образом:

--------------------------cook.pl--------------------------
#!/usr/bin/perl
use CGI::Cookie;
use CGI qw/:standard/;
use CGI;

print "Content-type: text/html\n\n";

# Это читает
$q = CGI->new();
$value1 = $q->cookie('key1');
$value2 = $q->cookie('key2');

#Это ставит
$cookie2 = new cookie(-name => 'key2', value => 'value2', -expires => '+1d'); #Дневная печенька

#выдаётся ошибка про "new cookie"

----------------------------------------------------------

#в данный помент я читаю и ставлю куку по другому, но хочется научиться делать это имено так.

Автор: korob2001 8.7.2004, 00:15
Устанавливай так:
Код

#!/usr/bin/perl -w
use CGI qw( :all );
$cookiz = cookie( -name    => 'color',
                  -value   => 'red',
                  -expires => '+15m'); #Подготовили
print header( -cookie => $cookiz ); # Установили
# Сдесь код страницы

Получай так:
Код

#!/usr/bin/perl -w
use CGI qw( :all );
my $color = cookie('color');
print header( -charset => 'Windows-1251' ),
       start_html( -title => 'Получаем куки',
                   -bgcolor => $color );
# Далее код страницы


Если с ООП, то так:
Создаём.
Код

#!/usr/bin/perl -w
use CGI;
my $cgi = new CGI;
$cookiz = $cgi->cookie( -name    => 'color',
                       -value   => 'red',
                       -expires => '+15m'); #Подготовили
print $cgi->header( -cookie => $cookiz, -charset => 'Windows-1251' ); # Установили
# Сдесь код страницы

Получаем.
Код

#!/usr/bin/perl -w
use CGI;
my $color = $cgi->cookie('color');
print $cgi->header( -charset => 'Windows-1251' ),
       $cgi->start_html( -title => 'Получаем куки',
                       -bgcolor => $color );
# Далее код страницы

Удачи.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)