in reply to Complex Data Structures?

As long as your names and idnumbers are both unique, and under your current scheme they must be, you could do this:
#!/usr/bin/perl -w use strict; my %PERSON; my %NAME; $NAME{Mark} = $PERSON{a137} = ["Mark", "a137", "var1", "var2", "var3", + "var3"]; print "$NAME{Mark}[2] is $PERSON{a137}[2]\n"; $NAME{Mark}[2] = "New1"; print "$NAME{Mark}[2] is $PERSON{a137}[2]\n";

Since you are going to the trouble of creating anonymous arrays save them in BOTH structures at once. Then updating either gets you the change in both, with less memory used than your method. Sexy fun...

--
$you = new YOU;
honk() if $you->love(perl)