On Tue, Apr 09, 2002 at 02:09:30PM -0000, Lars Henrik Mathiesen wrote:
> > While we are all in a post-mortem mood, could someone explains
> > to me, in simple words of no more than two syllables, why stuff like
> > map y|w|y|, sort @a;
> > changes the values of @a?
>
> OK: It just does, so there.
The worst thing is, this explanation satisfies me completely. :)
> > I was under the impression that sort returned the sorted values and
> > no references to the original array. [ but it doesn't ]
>
> But this is only on 5.6.x, it seems; ask Dave about that. I looked
> through perldelta, which says
>
> =head2 Simple sort() using { $a <=> $b } and the like are optimized
>
> Many common sort() operations using a simple inlined block are now
> optimized for faster performance.
>
> Maybe that's why --- passing through the refs would speed things up.
Aye, makes sense (kinda). It's a nasty little thing
to keep in mind, though.
Oh, and I just tried and 'for(sort @a){s/././};' behaves the same way.
Weeeeeeird stuff.
Joy,
`/anick
--
Life is change. Growth is optional. Choose wisely.
-- Karen Kaiser Clark