Была проблема с push @x, foo(...); когда foo модифицирует массив @a. Проблему починили и возможно вместе починился и warn.
2009/10/27 Mons Anderson <[email protected]>: > On Tuesday 27 October 2009 17:12:23 Denis Evdokimov wrote: > >> my @ranges; > >> warn; > >> my @aaa = my_sub(); > >> @aaa = my_sub(); > >> warn; > >> push @ranges, @aaa; > >> warn; > >> push @ranges, my_sub(); > >> warn; > >> sub my_sub > >> { > >> warn; # Вот тут что-то происходит > >> return 'aaa'; > >> } > > Страное что-то. > > minimal testcase, если кому интересно > > perl5.8.8 -e 'push @a, sub { warn; return "" }->();' > > Warning: something's wrong at -e line 1. > > Modification of a read-only value attempted at -e line 1. > > perl5.8.8 -v > > This is perl, v5.8.8 built for i686-linux-thread-multi > > интересно, что если вместо push сделать splice, то работает. > > -- > > Vladimir Perepelitsa aka Mons Anderson > > <[email protected]> / #99779956 > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > > -- Best regards, Ruslan. -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
