Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
perl.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
388.1 Кб
Скачать

Frontend-программы для связи с базой данных

Утилита типа frontend для базы данных представляет собойпрограмму, которая упрощает доступ к серверу базы данных для остальных программ. Такая программа обрабатывает запрос пользователя к базе данных и на этой основе формирует свой запрос к базе данных с параметрами, необходимыми для доступа к данным на сервере. Frontend-программа может также обрабатывать результаты запроса, формировать ответ и посылать его обратно пользователю. Как выузнаете, программисты создают простые приложения для баз данныхисключительно на языке Perl, причем не возникает необходимости вспециальном сервере базы данных. Perl имеет встроенные возможности для отображения ассоциативных массивов (обсуждаемых дальше вэтой главе) на файл базы данных. В результате доступ к файлу базы данных в рамках скрипта Perl так же прост как и доступ к элементам массива, поскольку ввод/вывод в файл является прозрачнымдля скрипта. Для более сложных приложений на основе баз данныхPerl может выполнять роль связующего звена с сервером базы данных и функционировать как Frontendпрограмма для базы данных. Несколько специальных версий языка Perl было создано для расширенияподдержки конкретных серверов баз данных. Например, oraperl обеспечивает возможность доступа к серверам баз данных Oracle.

Использование языка perl для написания cgicкриптов.

Как вы узнали из предыдущей главы, CGI обеспечивает узламWeb вoзмoжнoсть интерактивной работы с клиентскими программами, вкачестве которых обычно выступает броузер. Во многих случаях узлы используют скрипты CGI для доступа к базам данных в тех случаях, когда клиент и сервер должны обмениваться данными.Использование CGI позволяет пользователю получать доступ к базеданных на Web, используя обычный Web-броузер. CGI-скрипт читает иобрабатывает содержание НТМL-форм, устанавливает соединение с базой данных, посылает ей запросы, обрабатывает результаты ответов,формируя на их основе новый НТМД документ, и затем посылает егообратно пользователю. Кроме того, все эти шаги должны быть сделаны так, чтобы обеспечить безопасность сервера.

Знакомство с языком perl

Хочется верить, что вас удалось убедить в необходимости хотя бы рассмотреть использование языка Perl для написания скриптов CGI. В следующих разделах вы узнаете, как запускать Perl наисполнение и как создавать полезные скрипты на языке Perl. Благодаря сходству Perl и С, в этой главе мы сосредоточим внимание натом, что объединяет их, и на их различиях. Больше внимания в главе будет уделено различию между этими языками.

<HELLO WORLD> НА ЯЗЫКЕ PERL

Большинство учебников по языкам программирования начинаетсяс простейшей программы, которая выводит текст <Hello World>. Всоответствии с этой традицией мы приводим нашей книге несколькопримеров программ <Hello World>. Следующий код служит для выводана экран сообщения <Hello World> три раза, используя три различных способа:

# Три способа как сказать <Hello World>

printf("Hello world\n");

printf("%s\n",'Hello world');

print "Hello World", "\n"

Первая строка представляет собой комментарий. На языке Perlзнак диез (#) означает комментарий. Когда Perl находит этот знак,он игнорирует весь текст, начиная с него и до конца строки. Знакдиез служит единственным способом ввести комментарии на языкеPerl. В отличие от С здесь нет конструкции, которая сразу бы определяла несколько строк комментариев. На первый взгляд функцияprintf выглядит так же, как в языке С. Однако вы можете заметить,что программа не содержит функции main. Хотя скрипты поддерживают подпрограммы (аналогичные функциям С), скрипт не определяетраздела, который бы содержал тело функции main. Вместо этого интерпретатор Perl сразу начинает исполнение скрипта с первого выражения в файле. Второе выражение, содержащее функцию printf,опять-таки выглядит аналогично своему использованию в языке С, заисключением того, что вторая строка аргументов заключена в одинарные кавычки ('') в противоположность двойным (""), используемым в С. В языке Perl строка в двойных кавычках означает определенный род преобразования. Например, интерпретатор Perl преобразует выражение новой строки в двойных кавычках "\n" в символ новой строки. Скрипт Perl использует одинарные кавычки для включения строковых литералов, т. е. строковых выражений, как это написано выше. Например, Perl напечатает выражение в одинарных кавычках ('\n') как два знака ('\') и 'n', а не как знак перехода нановую строку. Наконец, последняя строка кода программы содержитфункцию print, которой нет в языке С. В этом случае наиболее полезная черта этой функции заключается в отсутствии скобок. Оказывается, что вы можете всегда включать скобки в состав функцииязыка Per]. Однако в большинстве случаев необходимости в них нет.Perl требует включения скобок только в том случае, если без нихвыражение оказывается не полностью определенным, двусмысленным.Тем не менее, включение скобок в код соответствует хорошей традиции, и вам не следует отказываться от нее.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]