On Wed, Nov 12, 2003 at 03:31:28PM +0100, Jens Puruckherr wrote:
wenn ein Objekt andere Objekte (also nicht nur Referenzen, sondern echt wie geschachtelte Hashes), werden diese Objekte dann auch zerstört wenn das Master-Objekt zerstört (undef) wird?
my $a = new A; my $b = new B;
$a->b($b); undef $a;
$b ist immer noch da, oder?
Hier: Ja. Denn Du hast ja noch $b. Solange es noch eine Referenz auf das Objekt gibt ($b ist in diesem Sinne auch eine), solange wird der Speicher, den $b belegt, nicht freigegeben.
Ein undef $b wird das angelegte Objekt zerstören, *wenn* Du Dir in $a->b($b) Dir nicht zufällig eine Referenz auf das erwähnte Objekt gemerkt hast.
Best regards from Dresden Viele Gruesse aus Dresden Heiko Schlittermann