http://www.perlmonks.org?node_id=292368


in reply to Re: ${Schwartzian transform} ?
in thread ${Schwartzian transform} ?

While $_ in a map is an alias, it doesn't mean that $_ in rvalue context magically resolves to the alias instead of the value. Watch:
perl -wle '@a = 1; @b = map {++ $_ -> [0]} map {[$_]} @a; print "@a"; +print "@b"' 1 2

No alias passes out of the right-most map.

Or a shorter example:

perl -wle '@a = 1; @b = map {$_} @a; $a [0] ++; print "@a @b"' 2 1

@b isn't an array whose elements are aliases for the elements of @a.

Abigail