我有一個哈希值(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