Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DMoroz / Диплом.doc
Скачиваний:
37
Добавлен:
16.04.2013
Размер:
1.12 Mб
Скачать

2.2.2. Отладка шаблонов

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

Многочисленные выражения с шаблонами могут весьма затруднить понимание программы, что становится особенно критичным при отладке или доказательстве правильности программ.

Н

if (!($FORM{'date1'} =~ m/^([1..9]|[0-2][1-9]|[1-3]0|3[0-1])\.([1-9]|0[1-9]|1[0-2])\.[1-3]\d\d\d$/))

{

$halt='неправильно введена начальная дата временного промежутка!';

}

апример, нижеприведённый фрагмент программы проверяет соответствие даты $FORM{'date1'} общепринятому формату даты через точку. Данная проверка используется при проверке ввода дат начала и окончания временного промежутка при выводе результатов текущего семестра и получения списка студентов, получивших оценки в заданном диапазоне за заданный период

Сразу понять, как работает данная конструкция, понять сложно. Для этого требуется непростой синтаксический разбор шаблона.

2.2.3. Использование ModPerl

ModPerl– это расширениеWeb-сервераApache, обеспечивающее интеграцию сPerlдля ускорения выполненияCGI-скриптов. Данное расширение даёт выигрыш по скорости выполненияPerl-скриптов более чем в 2 раза, также позволяет экономить время на создание/закрытие подключения к серверу БД. Система ОРОКС начиная с версии 2.1 включает поддержкуModPerl. Использование данного расширения вносит свои особые требования кPerl- скриптам: всем используемым в программе переменным (скалярным, списковым (массивам) и хэшам (ассоциативным массивам)) перед использованием должны быть присвоены начальные значения. В противном случае они будут содержать последние присвоенные значения, что может привести к большим сложностям при отладке ввиду того, что никаких сообщений об ошибках в программе при использовании таких переменных не возникнет.

2.2.4. Ошибки при настройке www-сервера

Большое число ошибок возникает в связи с разграничением доступа к файлам при настройке WWW-сервера. Как правило,WWW-сервера работают под управлением операционной системыUnix(например,Linux,FreeBSDилиSolaris). В этом случае достигается максимальная производительность ибезопасность, в отличие отWeb-серверов под управлением операционных систем семействаWindows.

В операционной системе Unix с файлом связано много характеристик. В системе нет «ничьих» файлов, все файлы имеют владельца-пользователя и владельца-группу.

Права доступа задаются обычно числом в восьмеричной записи и разбиты на 3 части по 3 бита: Каждая часть задает права доступа для конкретной группы:

1я - права доступа для пользователя, которому принадлежит файл;

2я - для группы, которой принадлежит файл;

3я - для всех остальных.

В каждой такой категории выделяются 3 права: право на чтение, право на запись и право на исполнение.

При открытии файла программой, операционная система сравнивает идентификатор пользователя с идентификатором пользователя владельца файла, если они равны, то действуют права пользователя, если не равны, то сравниваются идентификаторы группы, если и они не равны, то действуют права доступа для остальных. В том случае если у процесса нет достаточных прав, система возвращает ошибку. Для суперпользователя root права доступа не проверяются.

Скрипт можно выполнить только в том случае, если есть права на его исполнение.

Следует отметить, что неправильное распределения прав доступа может повлечь катастрофические последствия для Web-сервера, поэтому вопросу настройкиWWW-сервера следует уделятьбольшоевнимание.

Соседние файлы в папке DMoroz