Мне кажется, что использование где либо в коде \@_ может создать &quot;неуловимые&quot; баги.<br>Смотрите сами:<br><br>sub master_ref<br>
{<br>
&nbsp;&nbsp;&nbsp; return \@_;<br>
}<br>
<br>
sub print_all<br>
{<br>
&nbsp;&nbsp;&nbsp; print $slave1;<br>
&nbsp;&nbsp;&nbsp; print @slave2;<br>
&nbsp;&nbsp;&nbsp; print $slave3{3};<br>
&nbsp;&nbsp;&nbsp; print &quot;\n&quot;;<br>
}<br>
<br>
<br>$slave1 = 1;<br>@slave2 = 2;<br>%slave3 = (3 =&gt; 3);<br><br>print_all();<br><br>$master = master_ref($slave1, @slave2, values %slave3, @slave5);<br><br>foreach(@$master)<br>{<br>&nbsp;&nbsp;&nbsp; $_= 0;<br>}<br>print_all();<br><br>
Ваши комментарии<br><br>P.S.<br>1. Я знаю, почему так происходит.<br>2. Уверен, что это багоопасная ситуация, т.к. по самой ссылке и по значения невозможно установить, что значения массива связанны ещё&nbsp; с чем-нибудь<br>