Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: ${Schwartzian transform} ?

by BrowserUk (Patriarch)
on Sep 18, 2003 at 12:05 UTC ( [id://292364]=note: print w/replies, xml ) Need Help??


in reply to ${Schwartzian transform} ?

At a first glance, I think your creating extra work rather than saving any. $_ is an alias, so when you include it in the anon. array, you are only passing a reference to the original value (ie. a scalar).

Your code is actually creating an extra reference to the scalar, (ie. copying the alias?), which it then has to dereference, hence doing slightly more work.

I *think*.


Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
If I understand your problem, I can solve it! Of course, the same can be said for you.

Replies are listed 'Best First'.
Re: ${Schwartzian transform} ?
by Abigail-II (Bishop) on Sep 18, 2003 at 12:14 UTC
    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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://292364]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (6)
As of 2024-04-19 15:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found