Автор Тема: CGI + Perl  (Прочитано 4518 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DrumSe

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
CGI + Perl
« : 28 Июля 2004, 00:38:10 »
Мне для моего скрипта надо только чтение данных из формы и создание куки, можно ли все это сделать без CGI.pm

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
CGI + Perl
« Ответ #1 : 28 Июля 2004, 00:51:56 »
Да, конечно, можно.
CGI.pm лишь упрощает работу программера, но я не знаю ничего такого, в чём он был бы незаменим.

Оффлайн DrumSe

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
CGI + Perl
« Ответ #2 : 28 Июля 2004, 01:06:23 »
Дык ты не мог бы мне написать как мне получать данные из формы и создавать куки без него?!

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
CGI + Perl
« Ответ #3 : 28 Июля 2004, 09:25:53 »
DrumSe
Посмотри код CGI.pm - там все есть.:)
2B OR NOT 2B = FF

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
CGI + Perl
« Ответ #4 : 28 Июля 2004, 10:48:03 »
DrumSe
http://faq.webscript.ru/PFWWWParams?v=glg
Особенно рекомендую почитать последний абзац, кстати это и мое IMHO тоже... процесс просветления долог и труден... ;)

А чем, собственно, мотивировано нежелание использовать CGI?

P.S. И в догонку - CGI_Lite - для тех кому нужно разбирать формы...

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
CGI + Perl
« Ответ #5 : 28 Июля 2004, 11:57:48 »
Цитировать
DrumSe:
Дык ты не мог бы мне написать как мне получать данные из формы и создавать куки без него?!

Данные из формы (пример из гостевухи, которую я "писал" ;) в институте):
sub decode{
 local($string)=@_;
 $string=~s/\\+/ /g;
 $string=~s/%0D%0A/
/g;
 $string=~s/%([0-9A-F]{2})/chr(hex($1))/eg;
 return $string; }

sysread(STDIN,$input,$ENV{\'CONTENT_LENGTH\'});

  foreach(@fields=split(/&/,$input)){
    if(/^Name=(.*)/){$Name=&decode($1);}
    if(/^Email=(.*)/){$Email=&decode($1);}
    if(/^City=(.*)/){$City=&decode($1);}
    if(/^Message=(.*)/){$Message=&decode($1);}}

Как видно функция decode() плюсы заменяет на пробелы, восстанавливает конец строки и кириллицу.

А вот пример для куки (это надо выводить раньше, чем Content-Type): print "Set-Cookie: dvd_shop=8472f7bde2634b10ef58568abee7cb85; path=http://localhost/MY9.PL; expires=Thu, 29-Jul-2004 07:57:05 GMT"

Оффлайн DrumSe

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
CGI + Perl
« Ответ #6 : 28 Июля 2004, 12:57:48 »
2Phoinix
Цитировать
А чем, собственно, мотивировано нежелание использовать CGI?

1) Интерено ппоработать без него =)
2) Он очень много жрет...

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
CGI + Perl
« Ответ #7 : 28 Июля 2004, 13:03:43 »
DrumSe
1) твое право
2) уверен?

для всех велосипедистов рекомендуется к прочтению: use CGI or die;
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28