
- •7.Спецификация mime. Применение mime в рамках протокола http.
- •8.Cookie. Хранение, запись и передача Cookie.
- •9.Исполняемые коды программ для Web. Программы, исполняющиеся на стороне сервера и программы, исполняющиеся на стороне клиента.
- •3) Asp (Active Server Pages) — технология, разработанная компанией Microsoft, позволяющая легко создавать приложения для Веб.
- •6) Функции для работы с потоками в Perl. Дескриптор потока
- •7) Массивы в Perl: скалярные, ассоциативные. Их инициализация и обращение к элементам массива.
- •9) Ebnf. Для описания синтаксиса регулярных выражений в языках сценариев используются расширенные формы Бэкуса-Наура (рфбн, или, по-английски. Extended Backus-Naur Form, ebnf). Ebnf — это современная
- •11) Php (php:Hypertext Preprocessor).
- •13) Php функции.
- •Isapi-программы может не только вызвать аварийное завершение, но и вывести из строя сервер.
9) Ebnf. Для описания синтаксиса регулярных выражений в языках сценариев используются расширенные формы Бэкуса-Наура (рфбн, или, по-английски. Extended Backus-Naur Form, ebnf). Ebnf — это современная
модификация методологии, которая впервые была использована для описания языка программирования Алгол-60. За прошедшие десятилетия формы Бэкуса-Наура были доработаны множеством авторов и сейчас в расширенном виде используются для описания ряда языков программирования различной степени сложности. EBNF-нотация также широко используется в технических рекомендациях Консорциума W3C, которые фактически и являются стандартами. Нотация EBNF определяет язык как набор синтаксических правил, определяющих нетерминалы (конструкшш языка) через терминалы (символы языка), а также другие нетерминалы. Правило состоит из двух частей, разделенных символами": :=":
-----конструкция : := определение конструкции------
В левой части правила стоит терминал определяемой конструкции, в правой — выражение, определяющее эту конструкцию. Правила EBNF также иногда называют продукциями.
10) В Perl встроена мощная поддержка регулярных выражений.
Благодаря этому Perl очень эффективен для обработки текстов.
Большая часть работы с регулярными выражениями производится при помощи операторов поиска и замены.
Оператора поиска m// записывается следующим образом:
m/шаблон/
Если значение переменной $_ содержит подстроку, соответствующую указанному шаблону, оператор поиска возвращает значение true.
В простейшем случае в качестве шаблона может быть задана последовательность символов.
print "Введите путь к файлу: ";
$_ = <INPUT>;
if (m/usr/)
{ print "В составе пути есть последовательность 'usr'\n"; }
else
{ print "В составе пути нет последовательности 'usr'\n"; }
Оператор замены записывается следующим образом:
s/шаблон поиска/выражение для замены/[набор модификаторов]
При выполнении оператора s/// производится поиск соответствия шаблону
Если поиск завершается успешно, найденная подстрока заменяется указанным выражением.
Подобно оператору m//, оператор s/// использует переменную $_.
$_ = "CGI-сценарий написан на языке С";
s/C$/Perl/;
print;
В результате выполнения сценария на консоль будет выведена следующая строка:
CGI-сценарий написан на языке Perl.
Посимвольная замена
Данный оператор записывается следующим образом:
----1г/список_поиска/список_замены/-----
Если какой-либо из символов в строке, содержащейся в переменной $_, совпадает символом из списка поиска, он заменяется символом, занимающим соответствующую позицию в списке замены. Так. Выражение
---tr/ab/cd/;
заменит все буквы а, содержащиеся в переменной $_, на букву с, а буквы b
- на букву d.
Как найти полезное применение данному оператору? Его можно использовать для замены символов в строке параметров, передаваемой CGI-сценарию, на пробелы.
tr/+/ /;
Оператор trill также удобно применять для преобразования регистра символов. Так. в результате применения оператора
tr/a-z/A-Z/;
все латинские буквы, содержащиеся в переменной будут преобразованы в прописные.
Оператор связывания.
Чтобы поиск или замена производились в строке, содержащейся в указанной вами переменной, надо использовать следующее выражение:
Переменная = - оператор_поиска_или_замены
Так, например, приведенное ниже выражение преобразует шестнадцатеричные числа, содержащиеся в переменной $string, в десятичное представление (предполагается, что шестнадцатеричные числа оканчиваются символом МН").
Функция split разделяет содержимое строки на список элементов. Она имеет следующий формат:
split(Delimeter, Str[,Limit]);
Аргумент Delimeter определяет символ, по которому осуществляется разделение, например, пробел, слово, символ табуляции и т. д. Факультативный параметр Limit задает максимальное число элементов, которое может содержать список. Следующий пример иллюстрирует использование функции split.