Это уже вопрос стиля, не более того.

Я всегда предпочитаю проверять через if scalar(@a). Когда-то нарывался при
записи if @a, что поведение было неправильным (в реальном коде).
Давно это было, так что test case уже не напишу.

Аналогично по скобкам, - вопрос стиля. Я часто предпочитаю их ставить.


30 мая 2010 г. 17:14 пользователь Mons Anderson <[email protected]> написал:

> 2010/5/29 Akzhan Abdulin <[email protected]>:
> > Опять же, ничего не увидел :) Много способов выполнить то или иное
> действие
> > :) Но это Perl, это естественно для него :)
> > ну если критично именно смещать по одному, то я бы писал так:
> > shift @a while scalar(@a);
> >
>
> scalar @a не требует скобок.
> например ($size,$x) = scalar @a, 10; # size = 0; $x = 10;
>
> while scalar @a эквивалентен while @a
> while требует boolean context. для массива bool эквивалентен scalar.
>
> shift @a while @a;
>
> --
> Best wishes,
> Vladimir V. Perepelitsa aka Mons Anderson
> <[email protected]>, <[email protected]>
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org
>
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить