~ % re.pl
$ @a = (undef, 0, 1, 2, 3); while(@a) { shift @a }

0$ @a;

$


On 05/27/2010 01:40 PM, Andrei wrote:
27 мая 2010 г. 10:50 пользователь Andrew Shitov <[email protected] <mailto:[email protected]>> написал:

    Увидел вот такой код внутри класса.

    sub clear{
       my $template = shift @args;
       @{$self->{tokens}} = ();
       foreach (map {$_->{name}} @{$template->{si}}){
           while (my $r = shift @{$self->{$_}->{res}}){}
       }
    }


    Заслуживает внимания способ очистки массива:

    while (my $r = shift @a) {}

    Клево же :-)


До первого нуля, пустой строки undef, да?

--
Andrei Protasovitski
< andrei[dot]protasovitski[at]gmail[dot]com >
Diemen, Netherlands


--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить