Пособие по написанию WAP-сайтов




Рассмотрение Реrl-сценария RealEstateWML.pl



Рассмотрение Реrl-сценария RealEstateWML.pl

После указания пользователем верхней и нижней границы цен в приложенииRealEstate, программа запускает Peri-сценарий для поиска домов, цены которыхпопадают в указанный диапазон. Чтобы выполнить данную обработку, Peri-сценарию уже заранее «известна» информация о некотором ограниченном числедомов (в реальном приложении сценарий получал бы необходимую информациюиз базы данных). Чтобы сравнить стоимость известных ему домов с ценовымдиапазоном, сценарий использует серию ветвлений if-else. Если цена на домпопадает в диапазон, сценарий добавляет дом в опции меню.

Perl-сценарий RealEstateWML.pl реализуется с помощью следующего программного кода:

#!/usr/bin/perl

require 'DeckUtils.pl';

%cgiVars = &AppUtils::ParseCGIVars();

$PriceLow = $cgiVars{"PriceLow"}; $PriceHigh = $cgiVars{"PriceHigh"};

$Price1 = 99500; $Price2 = 149995; $Price3 = 249995; $Price4 = 500000; $Price5 = 1500000;

if (($PriceLow &lt= 0) ($PriceHigh &lt= 0) ($PriceLow &gt $PriceHigh))

{ $Deck = "Content-type: text/vnd.wap.wml

&lt?xml version=\"1.0\"?&gt &lt!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\"&gt

&ltwml&gt

&lthead&gt

&ltmeta http-equiv=\"Cache-Control\" content=\"max-age=0\" forua=\"true\"/&gt

&lt/head&gt

&ltcard id=\"Error\"&gt

&ltdo type=\"accept\" label=\"Back\"&gt &ltgo href=\"../RealEstate/RealEstate.wml\" /&gt &lt/do&gt

&ltp align=\"left\" mode=\"wrap\"&gt

Error in price range. Please enter a minimum price and a maximum price.

&lt/p&gt

&lt/card&gt

&lt/wml&gt";

}

else

{

$Option = "";

if (($Price1 &gt= $PriceLow) && ($Price1 &lt= $PriceHigh)) { $Option = $Option . "&ltoption onpick=\"../RealEstate/GV01234.wml \"&gtGV01234 \$\$99,500&lt/option&gt"; }




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