Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: Avoiding memory loss...

by J.Perl.Man (Novice)
on Dec 27, 2012 at 22:37 UTC ( #1010588=note: print w/replies, xml ) Need Help??


in reply to Re: Avoiding memory loss...
in thread Avoiding memory loss...

Excellent -- I hoped my read of the memory cleanup stuff was accurate. There are no copies, so I should be good to go I guess!

Regarding the allocation, in this case, we're talking pointer to an array. Normally, I wouldn't create an empty array, but was pretty sure that I had to have the reference in place before the push, yes?

Thanks!

Replies are listed 'Best First'.
Re^3: Avoiding memory loss...
by LanX (Bishop) on Dec 27, 2012 at 23:11 UTC
    > Regarding the allocation, in this case, we're talking pointer to an array.

    yes, reference to an array (pointers are in C memory addresses but references are more complicated).

    But it doesn't matter @array and $array_ref=\@array are just two different ways to represent the same array.

    > Normally, I wouldn't create an empty array, but was pretty sure that I had to have the reference in place before the push, yes?

    As I told you: No!

    You are pushing to a variable starting with @. If the array doesn't exist already it will be allocated. If it exists but it's incompatible to push (like a hash) you,'ll get an error.

    DB<107> ref $a => "" DB<108> push @$a,1..3 => 3 DB<109> ref $a => "ARRAY" DB<110> $b={} => {} DB<111> push @$b,1..3 Not an ARRAY reference at (eval 44)[multi_perl5db.pl:644] line 2. DB<112> ref $b => "HASH"
    In newer versions of Perl you are even allowed to push directly to $array_refs.

    Cheers Rolf

      Greatly appreciated, cleaned up the code!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1010588]
help
Chatterbox?
[ww]: or a lot more than (22*2) for /me
[ww]: er -- senior cognitive deficiency: ((22+(22*2))
[ww]: (but pls don't s/senior/senile/ ... not yet
[karlgoethebier]: A bit more audience now: The Impact of Information Sources on Code Security Very interesting IMHO...
[karlgoethebier]: ..it's about copy & paste ;-)
[ww]: Wonder what IEEE would have thought w/survey based on PM/perl
[ww]: s/thought/found/
[erix]: that title is a broken* sentence, no? But maybe that's deliberate
[karlgoethebier]: ww:My first thought, to be honest...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (10)
As of 2017-09-25 14:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    During the recent solar eclipse, I:









    Results (280 votes). Check out past polls.

    Notices?