Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Memory leaks and reference counting within Perl.

by davido (Cardinal)
on Jan 05, 2005 at 22:57 UTC ( [id://419769]=note: print w/replies, xml ) Need Help??


in reply to Memory leaks and reference counting within Perl.

Actually there is no memory leak in your code. You're redeclaring $hash_ref inside the inner block, and it falls out of scope after the last curly bracket. The fact that a variable by the same name has been declared at a broader scope too is irrelevant. The broader-scoped $hash_ref is never being assigned anything, as it is masked by the inner-scoped $hash_ref.

Now on the other hand, if you made an assignment to $hash_ref without declaring it at the inner scope, after the last curly bracket $hash_ref wouldn't fall out of scope, and the reference count wouldn't drop to zero until the broad-scoped $hash_ref lexical falls out of scope too... in this case at the end of the program.

This isn't a memory leak unless you lose track of $hash_ref without letting it fall out of scope somehow.


Dave

  • Comment on Re: Memory leaks and reference counting within Perl.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (7)
As of 2024-04-23 07:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found