1

I am looping over a query and returning results. I am trying to add a hash to another hashes. But running into trouble.

my %users_data;
while($sth->fetch)
{
    $mygroup =>
    {
        'fname' => $fname,
        'lname' => $lname,
        'address' =>
        {
           'street' => $street,
           'city' => $city,
        },
        'id' => $uid,
     },
}

how do I add the $mygroup hash to %users_data hash?

long hand would be.

my %users_data = (
 'salesmanager' =>
 {
    'fname' => 'mike',
    'lname' => 'john',
    'address' =>
    {
       'street' => '123 street',
       'city' => 'Brooklyn',
    },
    'id' => 12,
 },
 'garagemanager' =>
 {
    'fname' => 'Mark',
    'lname' => 'Jones',
    'address' =>
    {
       'street' => '355 street',
       'city' => 'Brooklyn',
    },
    'id' => 13,
 },
)
simbabque
  • 53,749
  • 8
  • 73
  • 136
user3525290
  • 1,557
  • 2
  • 20
  • 47

1 Answers1

4

Simply access the target key and assign its new value:

my %users_data;
while($sth->fetch)
{
    $users_data{$mygroup} = {
        'fname' => $fname,
        'lname' => $lname,
        'address' =>
        {
           'street' => $street,
           'city' => $city,
        },
        'id' => $uid,
     };
}
Tanktalus
  • 21,664
  • 5
  • 41
  • 68