hotti: Sicherstellen, dass Objekt mit my deklariert wurde

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

  1. 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

    --
    Siehe zu wo Du Kohlen herkriegst, wenn Du das Erbe ausschlägst.
    1. 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.

      1. 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

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
        1. Zustimmung.

          hotti, geh endlich zu den Perlmongers, die treiben dir deine Flausen/seltsamen Ansichten aus.