Thread Problem mit FileHandle (24 answers)
Opened by rosti at 2011-04-05 22:27

topeg
 2011-04-06 08:54
#147408 #147408
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
2011-04-06T06:15:52 rosti
Aufgrund dessen, dass bei jedem tie()-Aufruf die Zuordnung zum -key überschrieben wird, komme ich zu dem Schluss, dass Tie::Scalar als Baseclass hierzu ungeeigent ist.
Schau dir mal meinen zweiten Code an. Dort handhabe ich Schlüssel, das ganze ist sogar noch eine Ebene komplexer als du es machen willst, da hinter dem Hash mit den Schlüsseln noch Arrays sitzen. Das funktioniert problemlos. Das mehrfache Initialisieren kannst du vermeiden, wenn du schaust, ob die Datei schon geladen wurde und dann nur speicherst, wenn alle Referenzen aufgelöst wurden (z.B. durch verlassen des Wertebereiches).

wollte man mit meinem Modul deines emulieren würde das ungefähr so aussehen:
Code (perl): (dl )
1
2
3
4
5
tie(my $x1, 'Tie::Scalar::StorageKeyList', file=>'test.bin', key=>'foo', position=>0, value=>0);
$x1++;

tie(my $x2, 'Tie::Scalar::StorageKeyList', file=>'test.bin', key=>'bar', position=>0, value=>0);
$x2++;



Jedoch würde ich zu gerne wissen, welche Vorteile du in deinem Anwendungsfall von tie bezüglich einer normalen Funktion siehst.

View full thread Problem mit FileHandle