Struppi+2007-11-14 12:34:52--Danke, für die Ausführungen, das entspricht ungefähr dem wie ich das bisher verstanden habe.
Nur das Letzte will mir nicht so recht in den Sinn, vor allem im Kontext der Frage:
Quote... aber es *kann* durchaus Sinn machen, das Objekt selbst zu "zerstören" und somit den Speicher (intern) freizugeben (wenn keine anderen Referenzen auf die Daten vorhanden sind). Zum einen kann man so zirkuläre Referenzen zerstören und zum anderen kann man extrem hohen Speicherverbrauch vermeiden.
Froschpopo hat in seine Frage ja $self eingebaut, was i.d.R. ja der Parameter ist, der auf das aktuelle Objekt zeigt, dass würde ich auf jeden Fall nie im Modul zerstören, sondern dann dort wo das Objekt verwendet wird.
das sehe ich genauso...
QuoteDas Andere ist, wenn man denkt man hat ein Problem mit hängenden Referenzen, ist es da nicht günstiger explizit in DESTROY zu zerstören?
Oder sowas wie Scalar::Util::weaken zu verwenden?
Habe ich noch nicht getestet was wie besser ist...
QuoteIch wundere mich halt über die Fragestellung, mir ist diese in 10 Jahren Perlprogrammierung noch nicht über den Weg gelaufen. Ich hatte schon Probleme mit tie, wo ich explizit mit undef Verbindungen trennen musste oder das DESTROY was sinnvolles machen muss, aber ein undef irgendwo im Code, weil ich dachte ich müßte Speicher sparen ist zumindest mir persönlich noch nicht über den Weg gelaufen.
Das sollte in 99,9% der Fälle auch nicht notwendig sein.