[Moscow.pm] Интератор инициализирует ссылку на массив/хеш

Andrew Shitov andy на shitov.ru
Пт Сен 30 06:26:38 PDT 2011


Потому что $t1 станет другим после foreach, а $t2 не станет :-)

$ perl -E'use strict; use Data::Dumper; my $t; print Dumper($t); for
(@$t) {}; print Dumper($t);'
$VAR1 = undef;
$VAR1 = [];


2011/9/30 Иван Бессарабов <ivan на bessarabov.ru>:
> Я не могу понять из-за чего происходит такое поведение.
> Покажите, пожалуйста, кусок доки где объянено, почему так.
>
>
> #!/usr/bin/perl
>
> use strict;
> use warnings;
> use 5.010;
> use Data::Dumper;
>
> my ($t1, $t2);
>
> foreach (@$t1) {} # почему-то не вызывает ошибку
> say Dumper $t1;
>
> say '' if @$t2; # вызывает ошибку, как и ожидалось
>
> say 'end';
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
Andrew Shitov
______________________________________________________________________
andy на shitov.ru | http://shitov.ru


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