ein skalar (sv) hat 12 bytes. dazu kommt noch eine zwischenliegende struktur (xrv) mit weiteren 4 bytes. macht summa summarum 16 bytes.
was ist ein string? ein string ist ebenfalls ein perl skalar (sv), also 12 bytes, dazu eine prise xpv (12 bytes), dazu noch der eigentliche © string, der unter der annahme einer durchschnittlichen länge von n zeichen (n+1) bytes hat. unter strich also 12+12+n+1=25+n bytes.
du sparst also ganze 9+n bytes pro referenz. herzlichen glückwunsch ;)
zur erläuterung: sv ist die grunddatenstruktur eines skalares. die einzelheiten der einzelnen "typen" (string, zahl, referenz, ...) werden dabei in weitere strukturen ausgelagert (xrv, xpv). xrv enthält nur einen SV*, wohingegen xpv noch 8 byte längeninformation zusätzlich verwaltet.\n\n
<!--EDIT|kabel|1069343953-->
-- stefan