Дальнейшим развитием CGI стали серверные технологии, в которых в шаблон HTML-документа включаются исполняемые фрагменты, написанные на встроенном языке программирования - C#, Java, PHP, Perl, Visual Basic или специальных языках шаблонов. На Perl написано немало систем для работы с шаблонами (templating system): от модулей, использующих несложную подстановку, до изощренных платформ программирования (application framework) для web-сервера. Perl в подобных системах применяется для обработки шаблонов (например,
Система разработки web-сайтов Apache::ASP предлагает кросс-платформенные средства, аналогичные используемым в системе программирования ActiveState PerlScript для web-сервера Microsoft IIS. В этом подходе сочетаются естественное представление HTML-документа и возможность использовать богатые возможности языка программирования. В шаблоне HTML-страницы между тегами <% и %> располагаются фрагменты программы на языке Perl, которые выполняются при обработке запроса на страницу. Результат выполнения этих фрагментов включается в результирующую страницу, которая отсылается клиенту. Если переписать пример с гостевой книгой, используя классы из состава
Обращение к значениям полей формы происходит с помощью метода
<% # начало встроенного Perl
use DBI; # используем DBI
my $table = "mollusc"; # подключаемся к БД
my $dbh = # через драйвер DBD::SQLite
DBI->connect("dbi:SQLite:dbname=$table","","") or die;
my $sth = # готовим выборку строк таблицы
$dbh->prepare("SELECT id,name,latin,area FROM $table")
or die $dbh->errstr;
$sth->execute() or die $sth->errstr(); # и выполняем запрос
%>
![]() |
<%=$row->{name}%>
<%=$row->{latin}%> |
<%=$row->{area}%> |
HTML-страница, сформированная в результате выполнения программы, приведена на рис. 18.2
. При необходимости несложно расширить функциональность этой программы, например, добавить поиск по любой из колонок таблицы.Рис. 18.2.
Web-интерфейс к базе данных