Сохранение глобальных значений

Проблема

Требуется временно сохранить значение глобальной переменной.

Решение

Воспользуйтесь оператором local, чтобы сохранить старое значение и автоматически восстановить его при выходе из текущего блока:
$age = 18;           # Глобальная переменная
if (condition) {
  local $age = 23;
  func();            # Видит временное значение 23
}                    # Восстановить старое значение при выходе из блока

Комментарий

К сожалению, оператор Perl local не создает локальной переменной — это делается оператором my. local всего лишь сохраняет существующее значение на время выполнения блока, в котором он находится.
Однако в трех ситуациях вы должны использовать local вместо mу.
  1. Глобальной переменной (особенно $_) присваивается временное значение.
  2. Создается локальный манипулятор файла или каталога или локальная функция.
  3. Вы хотите временно изменить один элемент массива или хэша.

См. также

Описание функций local и



2013-09-10 17:05:19

Proverte kod v komentariyah gde pro list tam oshibki detskie




Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: