<html><head><meta name="qrichtext" content="1" /></head><body style="font-size:11pt;font-family:Terminus">
<p>On Tuesday 27 October 2009 17:12:23 Denis Evdokimov wrote:</p>
<p>&gt; my @ranges;</p>
<p>&gt; warn;</p>
<p>&gt; my @aaa = my_sub();</p>
<p>&gt; @aaa = my_sub();</p>
<p>&gt; warn;</p>
<p>&gt; push @ranges, @aaa;</p>
<p>&gt; warn;</p>
<p>&gt; push @ranges, my_sub();</p>
<p>&gt; warn;</p>
<p>&gt; sub my_sub</p>
<p>&gt; {</p>
<p>&gt;     warn; # Вот тут что-то происходит</p>
<p>&gt;     return 'aaa';</p>
<p>&gt; }</p>
<p></p>
<p>Страное что-то.</p>
<p></p>
<p>minimal testcase, если кому интересно</p>
<p></p>
<p>perl5.8.8 -e 'push @a, sub { warn; return &quot;&quot; }-&gt;();'</p>
<p>Warning: something's wrong at -e line 1.</p>
<p>Modification of a read-only value attempted at -e line 1.</p>
<p></p>
<p>perl5.8.8 -v</p>
<p></p>
<p>This is perl, v5.8.8 built for i686-linux-thread-multi</p>
<p></p>
<p>интересно, что если вместо push сделать splice, то работает.</p>
<p></p>
<p>-- </p>
<p>Vladimir Perepelitsa aka Mons Anderson</p>
<p>&lt;inthrax@gmail.com&gt; / #99779956</p>
</body></html>