На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

ИСПОЛЬЗОВАНИЕ PERL для СОЗДАНИЯ СЦЕНАРИЕВ CGI

CGI обеспечивает Web-сайтам возможность интерактивной работы с программами клиента, в качестве которых обычно выступает броузер. Во многих случаях для доступа к базам данных сайты используют сценарии что позволяет пользо­вателю получать доступ к базе данных на Web с помощью обычного Web-броузе­ра. Сценарий CGI считывает и обрабатывает содержание HTML-форм, устанав­ливает соединение с базой данных, посылает ей запросы, обрабатывает резуль­таты ответов, формируя на их основе новый HTML-документ, и затем посылает его обратно пользователю. Кроме того, все эти шаги должны быть сделаны так,
чтобы обеспечить безопасность сервера.
Работ, с PERL
Хочется верить, что мне удалось убедить вас в необходимости ознакомиться с
языком Perl и попробовать написать с его помощью хотя бы один сценарий CGI.
В следующих разделах вы узнаете о том, как запускать Perl и как создавать на нем сценарии. Благодаря некоторому «родству» языков программирования Perl и С, в этой главе мы сосредоточим внимание на их сходствах и различиях.
«HELLO WORLD» НА ЯЗЫКЕ PERL
Большинство учебников по языкам программирования начинается с простейшей
программы, которая выводит текст «Hello World». В соответствии с этой тради­цией мы приводим в нашей книге несколько примеров таких программ. Следу­ющий текст программы служит для вывода на экран сообщения «Hello World»
три раза, используя три различных способа:
# Три способа сказать Hello World на языке Perl printf("Hello World\n"); printf("%s\n",  'Hello World') ; print "Hello World ', "\n";
Первая строка представляет собой комментарий. В языке Perl знак означает
комментарий. Когда Perl встречает этот знак, он игнорирует весь текст, сто­ящий после него. Знак «#» служит единственным способом ввести комментарий в программу, написанную на Perl. В отличие от С, здесь нет конструкции, по­зволяющей создавать несколько строк комментариев.
На первый взгляд функция printf выглядит так же, как и в языке С. Обратите внимание, что программа не содержит функции main. Хотя сценарии поддер­живают подпрограммы (аналогичные функциям С), сценарий не определяет сек­ции, которая бы содержала тело функции main. Вместо этого интерпретатор Perl сразу начинает исполнение сценария с первого выражения в файле.
Второе выражение, содержащее функцию опять-таки выглядит аналогич­но своему «собрату» в языке С, за исключением того, что вторая строка аргу­ментов заключена в одинарные кавычки (' '). вместо используемых в С двойных кавычек (" "). В языке Perl строка в двойных кавычках означает определенный род преобразования. Например, интерпретатор Perl преобразует выражение но­вой строки в двойных кавычках "\п" в символ новой строки. Одинарные кавыч­ки используются в сценариях Perl для включения строковых литералов (строко­вых выражений). Например, Perl напечатает выражение в одинарных кавычках ("\п") как два знака "\' и 'п', а не как знак перехода на новую строку.
И наконец, последняя строка текста программы содержит функцию print, кото­рой нет в языке С. В этом случае наиболее полезная черта функции заключается в отсутствии скобок. Оказывается, что можно всегда включать скобки в состав функции языка Perl. Однако в большинстве случаев необходимости в них нет. Perl требует включения скобок только в том случае, если без них выражение оказывается не полностью определенным, двусмысленным. Тем не менее, вклю­чение скобок в текст программы считается хорошей традицией, и вам не следует от нее отказываться.
РАБОТА с PERL
Пришло время поработать с Perl непосредственно. Если он не установлен в ва­шей системе, то сделайте это сейчас. Для получения информации об установке обратитесь к файлу perl.txt, расположенному на компакт-диске. Далее я буду предполагать, что он уже установлен на вашей машине. Наберите следующую команду для запуска сценария Perl:
C:\PERL> perl имя-сценария <Enter>
Например, создайте файл с именем hello.pl, содержащий следующую строку:
print  "Hello world\n";
После этого наберите в командной строке следующую команду:
C:\perl> perl hello.pl <Enter>
На экране вы увидите следующий текст: Hello world
Как уже говорилось, если вы работаете в системе Unix, то можете вызвать сце­нарий Perl так же, как и любую другую выполняемую программу. Прежде все­го, отредактируйте файл так, чтобы первая строка была аналогична представ­ленной ниже:
#!/usr/bin/perl
print "Hello world\n";
В этом примере первая строка указывает системе запустить сценарий с помо­щью Perl. Как можно видеть, эта строка также является комментарием (и это не случайно), так что Perl проигнорирует ее. Тем не менее большинство оболочек Unix будут просматривать первые два символа этой строки. Если первыми сим­волами служат #!, то оболочка будет рассматривать остальную часть строки в качестве команды для запуска сценария. В данном случае такой командой явля­ется /u.sr/bin/рег, Оболочка автоматически передаст имя сценария языку Perl. Чтобы запустить сценарий, необходимо выполнить команду chmod и изменить атрибут выполнения файла (chmod +х hello.pl). В зависимости от оболочки вам может потребоваться выполнить команду rehash, чтобы указать оболочке, что вы
добавили новую команду. Возможно, потребуется путь к perl, если он установ­лен в каталоге, отличном от /usr/bin/perl.
Примечание. Чаще всего в качестве расширения файла сценария Perl используются символы .pi Однако это не обязательно. Если вы запускаете сценарий Perl как автономную программу, то, возможно, более удобным будет вообще опустить расширение.
ОПЕРАТОРЫ PERL
Perl поддерживает все операторы языка С, используя для этого почти те же самые форматы. Например, операторы у. while, do, for и goto имеют в обоих языках программирования один и тот же формат. Как будет рассказано далее, оператор continue обладает отличными от используемых в С функциональными возможностями (вместо него в Perl используется оператор next). Вместо операто­ра break в Perl используется оператор last. He ищите в этом языке оператор switch - его там нет. Некоторые из операторов С приобрели в Perl совсем другой вид. Кроме того, в Perl имеется огромное количество своих собственных, не используемых в С операторов.
ПРОСТЫЕ И СОСТАВНЫЕ ОПЕРАТОРЫ
Простым выражением называется любая допустимая комбинация операторов и операндов. В языке Perl оператором является простое выражение, заканчиваю­щееся. точкой с запятой. Как и в С, операторы заканчиваются точкой с запя­той. Набирая текст программы в окне отладчика, можно спокойно опускать
точки с запятой, поскольку отладчик поставит их за вас. Далее показан пример использования простого оператора присваивания на языке Perl:
$Title =  ';
Кроме того, как и в языке сценарии Perl могут содержать блочные (или со­ставные) операторы, которые помещаются в фигурные скобки ({}), как показа­но ниже:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# простой оператор;
# еще один простой оператор
}
Вы часто будете использовать блочные операторы в текстах своих сценариев. Как и в языке С, сценарии Perl могут использовать блочные операторы для опреде­ления области видимости локальных переменных. Однако определение локаль­ных переменных внутри составного оператора не является автоматическим. Сце­нарий должен объявить все локальные переменные с помощью ключевого слова local. Далее в этой главе мы более подробно рассмотрим области видимости переменных.
Использование отступов и пустых СТРОК
для улучшения   читабельности сценариев
В процессе создания сценария имеет смысл использовать пустые строки и отступы, чтобы облегчить чтение и восприя­тие сценария. Как и в языке С, можно выделять блочные операторы с помощью двух как ниже:
if (некоторое_условие) {
отступ в два пробела относительно фигурной скобки;
if   (другое_условие) '
{
еще один_отступ_в_два пробела;
)
}
Использование отступов после фигурных скобок существенно облегчает вос­приятие структуры сценария. Кроме того, в сценариях можно пустые строки для логического разделения

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика