Создание серверных приложений на языке PERL

Строго говоря, Вы уже овладели




Урок 28 заключительный. Прочие функции

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

Функция Eval

eval выражение;

eval блок;


Выражение сканируется и выполняется как обычная Perl программа. Это делается в контексте текущей программы, поэтому можно использовать уже определенные переменные и подпрограммы. Возвращается результат последнего оператора в блоке или значение оператора return. Если обнаружится синтаксическая ошибка или выполнится оператор die, то возвращается неопределенное значение, а переменная $@ содержит сообщение об ошибке. Если ошибки не было, то $@ содержит нулевую строку. При отсутствии аргумента берется значение переменной $_:

$op = "print(1..10); print\"\n
\""; eval $op; if ($@ eq ""){print "Ошибок не было"} else {print "Переменная \$op содержит ошибки"}

Функция Exit

exit выражение;

Выполнение программы завершается с кодом выражения.

Функция Goto

goto метка;

goto выражение;

goto &подпрограмма


Безусловный переход на метку. Нельзя делать переход на метку в структуру, которая должна быть инициирована, например, подпрограмму или цикл foreach и т.д. Вторая форма применяется для динамического определения перехода. Например:

goto ('метка1', 'метка2', 'метка3')[$i];

Здесь при $i = 0 будет переход на 'метка1', $i = 1 на 'метка2' и т.д. Третья форма (goto &подпрограмма) довольно "хитрый" метод подмены имени вызываемой подпрограммы именем текущей. Это используется в методе автозагрузки, когда нужно запустить другую процедуру, но под именем текущей, как будто та была вызвана раньше.

Функция quotemeta

quotemeta выражение;

Вычисляет выражение, в котором метасимволы рассматриваются как обычные символы.

Функция Sleep

sleep выражение;

sleep;


Приостанавливает работу скрипта на указанное число секунд или зацикливается, если аргумент отсутствует. Работа продолжается, если получен сигнал SIGALARM. Возвращает время фактической паузы.

* * * *

[Содержание]  [Вступление]  [необходимое для начала изучения]  [урок 1]  [урок 2]  [урок 3]  [урок 4]  [урок 5]  [урок 6]  [урок 7]  [урок 8]  [урок 9]  [урок 10]  [урок 11]  [урок 12]  [урок 13]  [урок 14]  [урок 15]  [урок 16]  [урок 17]  [урок 18]  [урок 19]  [урок 20]  [урок 21]  [урок 22]  [урок 23]  [урок 24]  [урок 25]  [урок 26]  [урок 27]  [урок 28]  [правила хорошего тона]  [приложение A]  [приложение Б]  [приложение В]  [заключение]  [благодарности] 

Copyright (c) ClericICN, 2002


Содержание раздела