>это НЕ функции!!!! это не Си!!!! это язык уровнем выше!!! интерпритаторный!!!!
>он не является сильно-типизированным языком как Си - это интерпритатор
>и my и local тут ограницения на уровне исполнения будем считать - я понял.
>>>ну какбы у перла много тонкостей при работе с переменными и вообще,
>>>переменную типа "my" можно скажем сделать статичной (чтобы сохранялосья значение между
>>>вызовами блока в котором она определена), так же у перла вроде
>>>есть щняга типа "сборшик мусора" которая вычищает неиспользуемые переменные
>>>
>>
>>Можно... например из того что в перл не существует вложенных функций?
>
>чево? ты про inline функции на Си?
я про то что переменная определенная во внешней функции как my во внутренней функции определяется только один раз вне зависимости от того сколько раз была вызвана внешняя функция.
ну типа того:
our $i = 0;
sub a($){
my $var = shift;
local $i = $var;
sub b{
print $var," - $i \n";
}
&b;
}
a(1);
a(2);
a(3);
#=========РЕЗУЛЬТАТ:
1 - 1
1 - 2
1 - 3
p.s. кстати именно из этого случая - я стал рыться с адресами переменных чтобы понять что к чему... а в итоге все оказалось просто: my - имеет лексическую область видимости, в то время как настоящих вложенных функций в perl нет, получается что &b - это внешняя функция, но во время "компиляции" в ней создается ячейка памяти с адресом (совпадающим с адресом переменной во внешней функции - а этот адрес заполняется только один раз, потому и получается что внутри вложенной функции остается одно и то же первоопределенное значение.)
А вот на фоне этого - мне и стало интересно как на более низком уровне реализованы my local (и bless)
>ну с твоим подходом это скорей извращение )))
я это называю любопытством ;)