referenzen klonen

28/03/2008 - 14:51 von Frank Kulow | Report spam
Hallo NG,

$::norm{390}=["Fehler",[16,16],
"Bruch",[32,32],
"Überzahl",[64,64]];

$::norm{400}=$::norm{390};

macht Ärger, weil die keys auf das selbe referenzieren.
(eine Änderung in $::norm{400} wirkt sich auch auf $::norm{390} aus)


wodurch muß ich

$::norm{400}=$::norm{390};

ersetzen, damit das nicht passiert?

Danke Frank
 

Lesen sie die antworten

#1 Martin Vorlaender
28/03/2008 - 15:01 | Warnen spam
Frank Kulow wrote:
$::norm{390}=["Fehler",[16,16],
"Bruch",[32,32],
"Überzahl",[64,64]];

$::norm{400}=$::norm{390};

macht Ärger, weil die keys auf das selbe referenzieren.
(eine Änderung in $::norm{400} wirkt sich auch auf $::norm{390} aus)


wodurch muß ich

$::norm{400}=$::norm{390};

ersetzen, damit das nicht passiert?



Was Du brauchst, bezeichnet man als "deep copy". Siehe z.B.
http://www.unix.org.ua/orelly/perl/...h11_13.htm

cu,
Martin
One OS to rule them all | Martin Vorlaender | OpenVMS rules!
One OS to find them | work:
One OS to bring them all | http://vms.pdv-systeme.de/users/martinv/
And in the Darkness bind them.| home:

Ähnliche fragen