Sicherstellen, dass Objekt mit my deklariert wurde
hotti
- perl
s. Thema, das Objekt in der main ist ein Hash:
tie %hash, 'myClass';
Warn: Can't use an undefined value as a symbol reference at '..myClass.pm..' line 90 during global destruction.
Mit:
use strict;
tie my %hash, 'myClass'; # OK, keine Fehlermeldung
Die Warnung erfolgt in DESTROY (cleanup). Mir ist das bisher nicht aufgefallen, da ich immer strict verwende. Die Warnung deutet auf einen globalen Destructor... ich guck mal in meine Bücher, aber vielleicht hats ja jemand schneller parat ;)
Hotti
Tja, richtig erben will gelernt sein ;)
Fehler gefunden, es ist im Objekt noch ein Filehandle, der mit IO::File erzeugt wird. Genau der wird im DESTROY der Superklasse (*) zerstört, so dass er im DESTROY meiner Klasse nicht mehr vorhanden ist.
(*) hier muss ich noch gucken, welcher Destruktor welcher...
Sorry 4 trouble,
Hotti
Fehler gefunden, es ist im Objekt noch ein Filehandle, der mit IO::File erzeugt wird. Genau der wird im DESTROY der Superklasse (*) zerstört, so dass er im DESTROY meiner Klasse nicht mehr vorhanden ist.
Meine Beschreibung ist Käse, das mit IO::File erzeugte Filehandle geht vorher schon verloren, das wird jedoch erst in meinem Destruktor bemerk. Es geht nicht verloren, wenn es mit sysopen erstellt wurde. Es darf generell nicht verlorengehen, solange es Referenzen darauf gibt.
Moin Moin!
Ich werde den Eindruck nicht los, dass Du dringend einen Teddybären brauchst. Oder eine Oma. Notfalls tut's auch ein Ehepartner oder ein Kollege.
Alexander
Zustimmung.
hotti, geh endlich zu den Perlmongers, die treiben dir deine Flausen/seltsamen Ansichten aus.