我有一个散列(HoH)的散列,我select_allhashref
在 mysql 查询中使用它。该格式非常适合我想要的,并且我通过类似的方式还有另外两个 HoH。
我想最终将这些 HoH 合并在一起,唯一的问题(我认为)是一个 HoH 的“子哈希”中有一个键,它与另一个 HoH 中的一个键名相同。例如
my $statement1 = "select id, name, age, height from school_db";
my $school_hashref = $dbh->selectall_hashref($statement1, 1);
my $statement2 = "select id, name, address, post_code from address_db";
my $address_hashref = $dbh->selectall_hashref($statement2, 1);
因此,当我转储数据时,我会得到如下结果:
$VAR1 = {
'57494' => {
'name' => 'John Smith',
'age' => '9',
'height' => '120'
}
}
};
$VAR1 = {
'57494' => {
'name' => 'Peter Smith',
'address' => '5 Cambridge Road',
'post_code' => 'CR5 0FS'
}
}
};
(这是一个示例,因此使用不同的名称可能看起来不合逻辑,但我需要它:))
所以我想重命名'name'
为'address_name'
或这样。这可能吗?我知道你能做到
$hashref->{$newkey} = delete $hashref->{$oldkey};
(编辑:这是我在网上找到的一个示例,但尚未测试。)
但我不知道我将如何代表这个'id'
角色。有任何想法吗?