[Moscow.pm] $array_ref = [] vs. @$array_ref = ()

Sergey Aleynikov sergey.aleynikov на gmail.com
Пн Сен 3 10:41:27 PDT 2012


Добрый день,

3 сентября 2012 г., 21:16 пользователь Andrew Shitov <andy на shitov.ru> написал:
> А в чем разница между попыткой очистить массив через присвоение 1) []
> ссылке на него и 2) () разыменованному значению?

my @a=[1,2,3];
my $b=\@a;
my $c=\@a;

@$b=();
print ":@{$c}:\n";

$b=\@a;
@$b=(1,2);
$b=[];
print ":@{$c}:\n";

Ну и плюс при () сохраняется память под уже выделенные элементы
(актуально для больших постоянно перезаполняемых массивов).

Best regards,
Sergey Aleynikov


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