My initial reaction is to ask why you're doing it this way? Arrays and list indexes are not your friend, usually. Hashes, on the other hand, are:
use strict;
use warnings;
my %entity = (
A1 => {
customerID => '007',
ssn => '999-99-9999',
relationship => 'self',
},
B1 => {
customerID => '008',
ssn => '888-88-8888',
relationship => 'spouse',
},
C1 => {
customerID => '009',
ssn => '777-77-7777',
relationship => 'son',
},
);
foreach my $e (keys(%entity)) {
print "$e\n";
print "$entity{$e}{'customerID'}\n";
print "$entity{$e}{'ssn'}\n";
print "$entity{$e}{'relationship'}\n";
}
And for that matter, this code could be improved, but you're starting to get the idea- you might want to change the primary key away from entity to customerID, for example, but it still largely holds. You're doing a lot of data thrashing, but not what I assume your intended goals are.
If you want to continue using arrays, I definitely suggest you follow
jeffa's approach, then.
As far as putting them into a table for referencing purposes, depending on what you mean, I may have just done that for you. If you're looking to put them in a database, you should check out
DBI.
As far as what's causing your problems, I can't tell from the code you presented above. At a glance, it looks like it should work.
Hope this helps!
--
jwest
-><- -><- -><- -><- -><-
All things are Perfect
To every last Flaw
And bound in accord
With Eris's Law
- HBT; The Book of Advice, 1:7