[quote=ptk,22.12.2005, 23:30][...]
Es wird geschlossen, wenn die letzte Referenz auf das Filehandle verschwunden ist. Das kann durchaus nach Ende des Scopes passieren.
[...][/quote]
Das kann aber nur nach Ende des Scopes passieren, wenn ich zum Beispiel eine Referenz auf die Variable irgendwohin übergeben habe, oder?
Mir ging es hauptsächlich darum, zu wissen, ob das Filehandle sofort geschlossen wird, wenn sein Referenzzähler auf 0 fällt, oder ob Perl mitunter erst noch eine Tasse Kaffee trinkt, bevor es das Objekt, das nicht mehr referenziert wird, aufräumt. Bei "echten" Garbagecollectors kann das nämlich passieren, da man in der Regel nicht bei jedem Wechsel des lexikalischen Scopes eine
komplette Collection laufen lassen will -- das wäre
echt ineffizient.
When C++ is your hammer, every problem looks like your thumb.