Josef Spillner (dr_maux@users.sourceforge.net) wrote:
Hallo Josef,
Und plötzlich zeigen sowohl x als auch y auf die Liste mit c. Welche irdische Erklärung kann es dafür geben?
naja, das ist klar: Du speicherst mit
@list = @{$a{"x"}};
die 'b'-Liste in @list. Mit
$a{"x"} = @list;
speicherst du eine Referenz auf @list in $a{"x"}. Na, fällt der Eurocent schon? $a{"x"} zeigt jetzt auf @list.
Nun lädst du die 'c'-Liste in @list und speicherst wieder eine Referenz auf @list, diesmal in $a{"y"}. $a{"x"} ist aber immer noch eine Referenz auf @list, und in @list ist ja inzwischen die 'c'-Liste.
Das ist zumindest meine Erklärung.
Andreas