Имам 2 хеша.
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 Newbie или поне да ме насочи в правилната посока? Всяка помощ ще бъде високо оценена.
Благодаря ти.