Показать сообщение отдельно

  #8  
Старый 02.08.2008, 20:30
cash$$$
Banned
Регистрация: 06.01.2008
Сообщений: 413
С нами: 9655526

Репутация: 1334
По умолчанию

Цитата:
Сообщение от YaLTeR  
скажите плиз а что делает eval()?
Пиво пьет
А вообще, эта функция заносит сообщение об ошибке в переменную $@ и завершает eval с неопределенным значением. Это позволяет использовать ее для генерации исключений. Пример:
PHP код:
$a 1$b 0;
eval { die 
"Zero divide" if $b == 0$answer $a $b; };
die if $@; 
Этот сценарий завершится с сообщением:
Zero divide at test.pl line2.
...propagated at test.pl line3.
Если произошла ошибка компиляции или была вызвана функция die(), то eval возвращает неопределенное значение, а в переменную $@ заносится сообщение об ошибке. Если ошибок не возникло, то в $@ заносится пустая строка.

Пример использования eval для обработки исключения:
PHP код:
$a 1$b 0;
eval { 
$answer $a $b };
warn $@ if $@; 
Примеры использования eval для динамического вычисления выражений:
PHP код:
eval $x;       # 1
eval "$x";     # 2
eval '$x';     # 3
eval { $x };   # 4 
Выражения 1 и 2 компилируют PERL-программу, содержащуюся в переменной $x и выполняют ее. Выражения 3 и 4 просто возвращают значение переменной $x.
 
Ответить с цитированием