PERL: БИБЛИОТЕКА ПРОГРАММИСТА



              

PERL: БИБЛИОТЕКА ПРОГРАММИСТА - стр. 669


return $html;

sub calculate_price {

my $shirts = param("shirt_count") || 0, my $sweaters = param('sweater_count") || 0, return sprintf("\$%.2f", $shirts*33 + Ssweaters * 49.99);

sub to_page { submit(-NAME => " State", -VALUE => shift) }


Автоматизация в Web

...Сеть одновременно чувственная и логическая,

элегантная и изобилующая смыслом — это стиль,

это основа литературного искусства.

Роберт Льюис Стивенсон,

«О некоторых технических элементах

стиля в литературе»

Введение

В главе 19 «Программирование CGI» основное внимание уделяется отве­там на запросы броузеров и генерации документов с применением CGI. В этой главе программирование для Web рассматривается с другой стороны: вместо того чтобы общаться с броузером, вы сами притворяетесь броузером, генери­руете запросы и обрабатываете возвращаемые документы. Для упрощения этого процесса мы будем широко использовать модули, поскольку правильно реали­зовать низкоуровневые сетевые протоколы и форматы документов непросто. Поручая всю трудную работу модулям, вы концентрируетесь на самом интерес­ном — вашей собственной программе.

Упоминаемые модули находятся по следующему URL:

http://www.perl.com/CPAN/modules/by-category/15_World_Wide_Web_HTML_ HTTPJOGI/

Здесь хранятся модули для вычисления контрольных сумм кредитных карт, взаимодействия с API Netscape или сервера Apache, обработки графических карт (image maps), проверки HTML и работы с MIME. Однако самые большие и важные модули этой главы входят в комплекс модулей libwww-perl, объеди­няемых общим термином LWP. Ниже описаны лишь некоторые модули, входя­щие в LWP.

Модули HTTP:: и LWP:: позволяют запрашивать документы с сервера. В частно­сти, модуль LWP::Simple обеспечивает простейший способ получения документов. Однако LWP::Simple не хватает возможности обращаться к отдельным компонен­там ответов HTTP. Для работы с ними используются модули HTTP::Request, HTTP::Response и HTTP::UserAgent. Оба набора модулей демонстрируются в рецептах 20.1-20.2 и 20.10.




Содержание  Назад  Вперед