在perl中的另一个dict中追加dict

在perl中的另一个dict中追加dict,perl,Perl,我有一本这样的字典 print Dumper($emp) $VAR1 = { 'mike' => { 'country' => { 'US' => { 'pop' => 100

我有一本这样的字典

print Dumper($emp)

$VAR1 = {
          'mike' => {
                      
                      'country' => {
                                     'US' => {
                                        'pop' => 100
                                     }
                                    }
                    }
        }
$VAR1 = {
          'mike' => {
                      
                      'country' => {
                                     'US' => {
                                        'pop' => 100
                                     },
                                     'Canada' => {
                                        'pop' => 101
                                     }
                                    }
                    }
        }
我想在“国家”中添加一个新条目,如下所示

print Dumper($emp)

$VAR1 = {
          'mike' => {
                      
                      'country' => {
                                     'US' => {
                                        'pop' => 100
                                     }
                                    }
                    }
        }
$VAR1 = {
          'mike' => {
                      
                      'country' => {
                                     'US' => {
                                        'pop' => 100
                                     },
                                     'Canada' => {
                                        'pop' => 101
                                     }
                                    }
                    }
        }
现在我正在像这样建造它

$emp -> {$name}{country} = getCountry();

sub getCountry{
  ....
  return country;
}
不清楚getCountry会返回什么。考虑到它是一个单标量,我将假设它是一个由名称键入的国家的散列,不管名称如何

{加拿大=>{pop=>101} 合并两个哈希的简单方法是

%h=%h%,新的百分比; 所以

如果getCountry要返回国家的名称和国家,您可以使用以下命令:

我的$country\u name,$country=getCountry; $emp->{$name}{$country}{$country_name}=$country; 因此,如果getCountry返回的哈希仅返回一个国家,那么您也可以在不更改getCountry的情况下执行以下操作:

我的$country\u name,$country=%{getCountry}; $emp->{$name}{$country}{$country_name}=$country; 不清楚getCountry会返回什么。考虑到它是一个单标量,我将假设它是一个由名称键入的国家的散列,不管名称如何

{加拿大=>{pop=>101} 合并两个哈希的简单方法是

%h=%h%,新的百分比; 所以

如果getCountry要返回国家的名称和国家,您可以使用以下命令:

我的$country\u name,$country=getCountry; $emp->{$name}{$country}{$country_name}=$country; 因此,如果getCountry返回的哈希仅返回一个国家,那么您也可以在不更改getCountry的情况下执行以下操作:

我的$country\u name,$country=%{getCountry}; $emp->{$name}{$country}{$country_name}=$country;