[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