in reply to Re^2: Massive Perl Memory Leak
in thread Massive Perl Memory Leak
1) Well, if you feel better using the & go ahead, just keep in mind that &foo(); and &foo; are two very different things. The first statement calls the foo() subroutine with no parameters while the second one calls it aliasing its @_ to the current @_. That is any changes to @_ made within foo() will affect the current subroutine!
2) No, the my affects only the variable, no its contents. So the ifpoll() receives a reference to the caller's %datahash and assigns the reference to its own variable $datahash. The my itself doesn't affect the %datahash in any way.
3) Per has to flatten hash assignments. It might make some optimizations like preallocating the right number of buckets, but it has to create a new hash anc copy the values. So that changing one hash doesn't affect the other.
The %newhash = %oldhash; makes a copy, not another name for the same "object".
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Massive Perl Memory Leak
by wagnerc (Sexton) on Jun 14, 2007 at 00:58 UTC | |
by Jenda (Abbot) on Jun 14, 2007 at 08:38 UTC |