Вернуться на сайт гостевой книги Power Perl Educaton Help Download Links Off-line version

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

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

Функция Eval

eval выражение;
eval блок;

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

$op = "print(1..10); print\"\n<br>\"";
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]  [приложение Б]  [приложение В]  [заключение]  [благодарности] 


107640

101
15

HOLMS.ru Counter -эфхъё ЎшЄшЁютрэш  Counter CO.KZ


Copyright © ClericICN, 2002 - 2003