Ich hab zwar nicht komplett verstanden, was das tie() macht (ist mir auch egal),
tie() bindet eine Variable oder einen abstrakten Datentyp an eine Klasse. Beispiel:
tie %user, "User", id => 123;
$user{name} = "Name";
untie %user;
Eine moderne Art der Datenabstraktion, Layer zu trennen und saubere Schnittstellen zu definieren!