2011-05-15T18:07:45
rostiWenn ich Deinen ersten Satz richtig verstanden habe:
Hast du anscheinend nicht. Mein erster Satz war "Vergiss tie.".
Hast du mal probiert, einen tied hash aus einer Funktion zurückzugeben?
Quote
print tied(%jd)->julianday, "\n";
Auf Deutsch: das tie-Interface kann nur ganz primitive Operationen, und für alles andere muss man zum normalen Interface wechseln. Dadurch erhöht man die kognitive Last des Programmierers.
Quoteund einer Vererbung steht nichts im Weg.
Nur, wenn die TIE-Methoden nichts anderes machen, als einen redispatch zur Methode - in welchem Falle du durch das tie-Interface nichts gewinnst, ausser dein Ziel ist es, Programme künstlich langsamer laufen zu lassen.
Desweiteren ist beruht der tie-Mechanismus auf einer Täuschung des Anwenders - etwas sieht wie ein Hash-Zugriff aus, ist aber keiner. Wenn du damit was anderes machst, als Hash-Zugriffe zu emulieren, sorgst du langfristig nur für Verwirrung.