my $self: (Hashes) 2 Zweige beinhalten immer den gleichen Wert 0_o

Beitrag lesen

Hallo,

ich vermute, du versuchst komplexe Datenstrukturen zu kopieren, kopierst aber nur die Referenz auf besagte Datenstruktur.

Ob deine Beiden Hash-Elemente auf die selben Daten zeigen, kannst du ganz einfach testen, indem du dir die Werte deiner Hashs ausgeben lässt:

  print $I{'pe'}{'wan'}{1}, "\n";  
  print $I{'pe'}{'wan'}{'port'}{1}, "\n";

Dabei dürfte in etwa das Folgende ausgegeben werden:

HASH(0x1858130)
  HASH(0x1858130)

Sind die Werte gleich, bedeutet das, dass beide Hash-Elemente auf die selben Daten zeigen.

Wie du komplexe Datenstrukturen kopieren kannst, ist hier nachzulesen:

http://www.unix.org.ua/orelly/perl/cookbook/ch11_13.htm

Schöne Grüße.