Полулокальные переменные. Функция local.
Локальные переменные, созданные при помощи функции local, видны в самой функции и функциях, вызываемых из нее.
Операцию my можно использовать только для обьявления простых скалярных переменных, переменных-массивов и хеш-переменных, для переменной local такие ограничения не установлены.
$value = "original"; tellme(); spoof(); tellme();
sub spoof { local ($value) = "temporary"; tellme(); }
sub tellme { print "Current value is $value\n"; }
Результат выполнения программы:
Current value is original Current value is temporary Current value is original