2013/7/26 ksvs <[email protected]>:
> Смысл в том, чтобы добавить прослойку ограничивающую взор вложенных
> замыканий.
>
> call sub {
>     my ($a, $b) = ...;
>     my $i = ...;
>     call sub {
>         # Видит все $a и $b и остальное.
>         my $i = ...
>         # Забыл поставить my перед $i и получил ошибку.
>         call ...
>     }
> }
>
> Заменяем на
>
> sub foo {
>     my ($b) = @_;
>     # Видит только $b, - только то, что нужно.
>     call ...
>
> }
>
> call sub {
>     my ($a, $b);
>     call sub { foo($b) }
> }
>
> Так проще получается и меньше ошибок.
>

1. Фактически удваивается кол-во вызовов.
1.1 Если так забить на производительность, то лучше юзать Coro
2. Если переменная не упоминается в скопе, она не замыкается.

> P.S.
>
> mod_perl?
>

Всяко бывает ;)

-- 
Best wishes,
Vladimir V. Perepelitsa aka Mons Anderson
<[email protected]>, <[email protected]>
http://github.com/Mons
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить