Платформы корпоративных информационных систем

         

EmbPerl



EmbPerl

Программа EmbPerl создана позднее, чем ePerl, и более ориентирована на HTML и Web. Она позволяет использовать дополнительные «метакоманды» - теги в стиле HTML, обрабатываемые EmbPerl, - которые вводят в сам HTML возможности ветвления и другие элементы программирования .

В качестве примера встраивания кода Perl в файл HTML рассмотрим форму для вывода данных из базы данных по акулам, приводившуюся выше. Мы будем использовать в нашем примере EmbPerl, но поскольку используется стандартный Perl, код практически одинаков для различных средств встраивания Perl.

<HTML>

<НЕАD><ТIТLЕ>Результаты поиска акул</title></head>

<BODY>

<Н1> Вот акулы, удовлетворяющие условиям поиска...</h1>

<р>

[-


use Msql;

use CGI qw(:standard);

$dbh = Msql->connect; $dbh->selectdb("sharks");

%age = ( '0' => 'Молодые',

'1' => 'Взрослые',

'2' => 'Старые'

);

# Начинаем построение запроса. В результате типичный запрос

# может выглядеть так:

# SELECT * FROM SHARK WHERE SPECIES='Isurus Paucus' AND AGE=2

$query = "select * from sharks where ";

if (Sspecies or Sage or $location) {

$query .= " where ";

$query .= join(" and ", param); }

Sresult = $dbh->query($query);

if (result == -1) {

echo("Error : " . Msql->errmsg . "\n");

exlt(l);

}

Snumresults = $result->numrows;

-]

<UL>

[$if (! Snumresults ) $]

<Н2>Результатов не найдено </h2> [SelseS]

[Swhile (%shark = $Msql->fetchhash($result)) $]

<LI>

<IMG SRC="graphics/shark[+$shark{'id'}+].gif" ALIGN=LEFT>

<В>Вид:</b> [+$shark{'species'}+]<br>

<В>Возраст:</b> [+$age{$shark{'age'}}+]<br>

<В>Район </b> [+$shark{'location'}+]<br>

[;endwhile$] [;endif] </ul>

<A HREF="search.html">Hoвый поиск </а>

</body></html>



Содержание раздела