Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^2: lexicals are all the same scalar and never go out of scope?

by ikegami (Pope)
on Dec 06, 2011 at 09:55 UTC ( #941981=note: print w/ replies, xml ) Need Help??


in reply to Re: lexicals are all the same scalar and never go out of scope?
in thread lexicals are all the same scalar and never go out of scope?

By your logic, the following never deallocates the referenced array:

use Devel::Peek; $x = []; Dump($x, 1); $x = undef; $x = []; Dump($x, 1);
SV = IV(0x51a420) at 0x51a424 REFCNT = 1 FLAGS = (ROK) RV = 0x61b29c SV = PVAV(0x61c248) at 0x61b29c REFCNT = 1 FLAGS = () ARRAY = 0x0 FILL = -1 MAX = -1 ARYLEN = 0x0 FLAGS = (REAL) SV = IV(0x51a420) at 0x51a424 REFCNT = 1 FLAGS = (ROK) RV = 0x61b29c SV = PVAV(0x61c248) at 0x61b29c REFCNT = 1 FLAGS = () ARRAY = 0x0 FILL = -1 MAX = -1 ARYLEN = 0x0 FLAGS = (REAL)

But that's just not true. It just got reallocated at the same address. Looking at the address is not meaningful.

(I'm not saying that it isn't the same scalar. I'm saying you haven't shown that it is the same scalar.)


Comment on Re^2: lexicals are all the same scalar and never go out of scope?
Select or Download Code
Re^3: lexicals are all the same scalar and never go out of scope?
by Eliya (Vicar) on Dec 06, 2011 at 10:32 UTC
    By your logic, the following never deallocates the referenced array: ...

    This isn't even remotely what I said.  I said the scalar (i.e. the SV, what you call TARG) is the same, and a copy of it is created when a reference to it is pushed onto the array — nothing more.  That's in essence the same you pointed out in your reply.

      I said the scalar (i.e. the SV, what you call TARG) is the same,

      You also posted a code snippet and its output. With no explanation, the implication is that it supports the accompanying claim. And it does no such thing.

      That's in essence the same you pointed out in your reply.

      Reaching the correct conclusion doesn't make how you reached it correct.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (16)
As of 2014-07-14 14:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (262 votes), past polls