[Moscow.pm] Почему не стоит писать \@_
Denis Evdokimov
evdokimov.denis на gmail.com
Пн Май 19 11:10:01 PDT 2008
Мне кажется, что использование где либо в коде \@_ может создать
"неуловимые" баги.
Смотрите сами:
sub master_ref
{
return \@_;
}
sub print_all
{
print $slave1;
print @slave2;
print $slave3{3};
print "\n";
}
$slave1 = 1;
@slave2 = 2;
%slave3 = (3 => 3);
print_all();
$master = master_ref($slave1, @slave2, values %slave3, @slave5);
foreach(@$master)
{
$_= 0;
}
print_all();
Ваши комментарии
P.S.
1. Я знаю, почему так происходит.
2. Уверен, что это багоопасная ситуация, т.к. по самой ссылке и по значения
невозможно установить, что значения массива связанны ещё с чем-нибудь
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: http://mail.pm.org/pipermail/moscow-pm/attachments/20080519/d19ba0e3/attachment.html
Подробная информация о списке рассылки Moscow-pm