<div dir="ltr">если по тупому, то вот так:<div><br></div><div><div>sub mysort (&@) { </div><div> no strict 'refs'; </div><div> my $cmp = shift; </div>
<div> my @a = (shift @_);</div><div> my $caller = caller;</div><div> B:for ${ $caller.'::b' } (@_) {</div><div> for my $x (0..$#a) {</div><div> local ${ $caller.'::a' } = $a[$x];</div>
<div> my $cm = $cmp->();</div><div> next if $cm == -1;</div><div> splice @a,$x,0,${ $caller.'::b' };</div><div> next B;</div><div> }</div><div> push @a,${ $caller.'::b' };</div>
<div> }</div><div> return @a;</div><div>} </div></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/2/2 Ivan Petrov <span dir="ltr"><<a href="mailto:i.petro.77.00@gmail.com" target="_blank">i.petro.77.00@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">в том смысле чтобы при использовании strict итп функция сортировки<br>
оперировала переменными $a и $b?<br>
<br>
sub my_sort(&@) {<br>
my ($cb, @ary) = @_;<br>
...<br>
}<br>
<span class="HOEnZb"><font color="#888888">--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>Best wishes,<br>Vladimir V. Perepelitsa aka Mons Anderson<br><<a href="mailto:inthrax@gmail.com">inthrax@gmail.com</a>>, <<a href="mailto:mons@cpan.org">mons@cpan.org</a>><br>
<a href="http://github.com/Mons">http://github.com/Mons</a>
</div>