in reply to Odd splice behavior between perl/OS versions
Between 5.10.0 and 5.12.0 the way $#array is handled in rvalue context changed. In lvalue context, that expression returns a magic value which, when assigned to, updates the array's length. In 5.10.0, a similar magical value was also returned in rvalue context, which delayed evaluation of the
array's length until the second (left-most) split was being done. In 5.12.0 onwards, the rvalue $#array expression is evaluated immediately.
This appears to be intentional:
commit 02d85cc37a4acecafdc2f0b45640b03cd1f4ac71 Author: Eric Brine <ikegami@adaelis.com> AuthorDate: Fri Oct 23 19:05:40 2009 -0400 Avoid adding magic with rvalue $#a
Dave.
|
---|
In Section
Seekers of Perl Wisdom