Отправляет email-рассылки с помощью сервиса Sendsay

Perl - подпишись и учись!

  Все выпуски  

Perl - подпишись и учись!


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Привет всем!

Сегодня рассылка посвящена записи и использованию теневых посылок, которые, как известно пользователям Интернета, позволяют сохранять информацию сервера на машине пользователя. Но прежде чем обратиться к этой возможности, учтите, что единодушного мнения относительно теневых посылок нет и далеко не все одобряют их.

Теневые посылки и любимы, и ненавидимы. Многие пользователи терпеть не могут, когда на их компьютерах сохраняются мегабайты информации подобного рода. Поскольку теневые посылки позволяют отслеживать передвижение пользователей по разделам, а также делать заказы при помощи "Магазинной карты", то тёплые чувства к теневым посылкам всё же преобладают над раздражением.

От введения перейдём к реализации. Записать теневую посылку с помощью CGI.pm несложно. В нашем примере она будет носить имя "greetings" и хранить информацию в хэше %greetings, уничтожая её по истечении года.

$co= new CGI;
$greetingcookie= $co->cookie(
        -name=>'greetings',
        -value=>\%gretings,
        -expires=>'+365d');
print $co->header(-cookie=>$greetingcookie);
Заметьте, что для создания теневой посылки вы передаёте её в качестве именованого параметра CGI-методу header.

Для чтения теневой посылки используется обычный CGI-метод, получающий в качестве параметра имя посылки. После этой операции можно использовать данные хэша %greetings:

$co=new CGI;
%greetings=$co->cookie('greeting');
print $greetings{'name'};
Вот и вся работа с теневыми посылками. Но имейте ввиду, что многие пользователи не желают, чтобы программы хранили какие-либо данные на их машинах! Далее приведу вам программу, которая позволяет приветствовать посетителя по имени, а в день его рождения и поздравлять. Этот сценарий вполне корректен - он не устанавливает никаких теневых посылок до тех пор, пока пользователь сам не предоставит или не обновит необходимую информацию.
#!/usr/bin/perl

use CGI;
$co=new CGI;
%greetings=$co->cookie('greeting');

if ($co->param('name')){$greetings{'name'}=$co->param('name');}
if ($co->param('birthday')=~ m/\d\d\/\d\d/){
$greetings{'birthday'}=$co->param('birthday');}

($day, $month, $year)=(localtime)[3,4,5];
$date=join("/",$month.+1, $day);


if (exists($greetings{name})){
$greetingstring='Hello, '.$greetings{name};
if ($date eq $greetings{birthday}){$greetingstring.=", happy birthday!";}
else{$greetingstring.="!";}
$greetingsstring=~ s/</&lt/;
$promt="Если вы хотите изменить установки страницы, то
всего-лишь введите новые данные.";}
else{$promt="Для того, чтобы скрипт вас в следующий раз поприветствовал,
введите нужные данные:";}
$greetingcookie=$co->cookie(
 -name=>'greeting',
 -value=>\%greetings,
 -expires=>'+365d');

if ($co->param('name') || $co->param('birthday')){
 print $co->header(-cookie=>$greetingcookie);}
else {
print $co->header;}

print
 $co->start_html(),
$co->center(
$co->h1("Cookie Example"),
  $co->p,
  $co->h1("$greetingstring"),
  $promt,
  $co->startform,
  'Ваше имя: ',
  $co->textfield(
   -name=>'name',
   -value=>'',
   -override=>1),
  $co->p,
  'День рождения(mm/dd): ',
  $co->textfield(
   -name=>'birthday',
   -value=>'',
   -override=>1),
  $co->p,
  $co->submit(-value=>'  Ок  '),
  $co->reset,
  $co->endform),
  $co->end_html;

Пример работы программы:

Cookie Example

Для того, чтобы скрипт вас в следующий раз поприветствовал, введите нужные данные:
Ваше имя:

День рождения(mm/dd):



                                                That's all, Folks!
                                                                Nick

P.s Мой сайт находится в состоянии не только разработки и обновления, но и в состоянии раскрутки, по-этому, если вас не затруднит, посоветуйте мой сайт друзьям.
Также, вероятно, что у всех вас есть сайты, по-этому предлагаю обменяться ссылками.
Если у вас есть какие-либо вопросы и предложения, то направляйте их на мой e-mail: nicky@nm.ru

Хороших скриптов!


http://subscribe.ru/
E-mail: ask@subscribe.ru
Поиск

В избранное