> -----Original Message-----
> From: Gary Stainburn [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, November 08, 2001 8:47 AM
> To: [EMAIL PROTECTED]
> Subject: garbage collection - hashes
>
>
> Hi all,
>
> If i do the following:
>
> $trunk{$_}->{ddi}='1234567';
> $trunk{$_}->{extn}='378';
> $trunk{$_}->{cli}='32332323';
> .....
> delete $trunk{$_}
>
> will this work okay, or will it leak memory?
That's fine. Look at it this way: $trunk{$_} is a reference to
an anonymous hash containing some data.
delete $trunk{$_} removes the entry from %trunk. Since it was
a reference to an anonymous hash, that hash's reference count
is decremented. Assuming there are no other references to that
hash (i.e. you didn't make a copy earlier like $foo = $trunk{$_}),
Perl will notice that and will release the anonymous hash.
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]