Perl dynamic hash of hash errors

48 Views Asked by At

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,
 },
)
1

There are 1 best solutions below

1
Tanktalus On BEST ANSWER

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,
     };
}