我有一个哈希值(HoH),我在使用mysql查询时使用了select_allhashref
。 格式对于我想要的是完美的,我有两个类似的手段HoH。我可以在Perl的另一个哈希中重命名哈希键吗?
我想最终将这些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'
部分。有任何想法吗?
是完美的。好人! – dgBP