array of hashes

Have a hash (from ODBC $db->DataHash) and
want to place it into an array of hashes.  How?

while ($db->FetchRow()) {
   undef %Data;
   %Data = $db->DataHash();
   # concept  push @a, %Data;  # Yes, I know this doesn't come close.
}

Do I have to break up %Data into its key/value pair and

push @a, {key1 => value, key2 => value}

or is there a better way?
Thanks
LVL 1
hank1Asked:
Who is Participating?
 
sstoukConnect With a Mentor Commented:
Try this:

while ($db->FetchRow()) {
  undef %Data;
  %Data = $db->DataHash();
push @HArray, \%Data;
  # concept  push @a, %Data;  # Yes, I know this doesn't come close.
}


To get it back:

foreach $ArrElem (@HArray)
{
%HashBack = %$ArrElem;
 foreach $key (keys %HashBack)
   {
    print "$key and $HashBack{$key}\n";
   };
};
0
 
hank1Author Commented:
Whoops.  Don't post here.  DELETE
Sorry guys.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.