У меня есть 2 хеша.Perl: Слияние элементов хэша
my %hash1 = (
'1.3.6.1.2.1.7.1.0' => 'switch_stuff1',
'1.3.6.1.2.1.6.3.0' => 'switch_stuff4',
'1.3.6.1.2.1.6.5.0' => 'switch_stuff5',
'1.3.6.1.2.1.7.4.0' => 'switch_stuff2',
'1.3.6.1.2.1.6.2.0' => 'switch_stuff3'
);
my %hash2 = (
'1.3.6.1.2.1.7.1.0' => 125858,
'1.3.6.1.2.1.6.3.0' => 120000,
'1.3.6.1.2.1.6.5.0' => 23766,
'1.3.6.1.2.1.7.4.0' => 115336,
'1.3.6.1.2.1.6.2.0' => 200
);
Как вы можете видеть, значения ключей для обоих хэшей одинаковы.
Что мне нужно сделать, это принять значения из %hash1
и использовать их в качестве ключей для %hash2
.
Выход:
$VAR1 = {
'switch_stuff1' => 125858,
'switch_stuff4' => 120000,
'switch_stuff5' => 23766,
'switch_stuff2' => 115336,
'switch_stuff3' => 200
};
Примечание: Число ключей/значений пар в обоих хешей всегда будет то же самое.
В качестве альтернативы, единственная важная вещь для меня около %hash1
- это значения.
'switch_stuff1',
'switch_stuff4',
'switch_stuff5',
'switch_stuff2',
'switch_stuff3'
Таким образом, если слияние хэшей в пути я описал это невозможно, я могу вместо этого превратить %hash1
в массив, который содержит только значения.
Может кто-нибудь, пожалуйста, помогите новичкам Perl или, по крайней мере, назовите меня в правильном направлении? Любая помощь будет принята с благодарностью.
спасибо.
Спасибо, это именно то, что мне нужно :) – user1300922
@ user1300922 Добро пожаловать. – TLP