[Moscow.pm] Вакансия: AnyEvent in Mail.ru

Mons Anderson mons на cpan.org
Пн Июл 29 03:31:33 PDT 2013


2013/7/26 ksvs <ksvs1996 на ymail.com>:
> Смысл в том, чтобы добавить прослойку ограничивающую взор вложенных
> замыканий.
>
> 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
<inthrax на gmail.com>, <mons на cpan.org>
http://github.com/Mons


Подробная информация о списке рассылки Moscow-pm