Я хочу, чтобы петли в течение двух хэшей как-то так, что если ключи Hash А, равны значения хэш-B, а затем сделать что-то:Perl: цикл по два хэши
например.
my $hash1 = {
'STRING_ID1' => {default => 'Some string'},
'STRING_ID3' => {default => 'Some string'},
'STRING_ID5' => {default => 'Some string'},
'STRING_ID7' => {default => 'Some string'},
};
my $hash2 = {
content => 'STRING_ID',
content1 => 'Some text that doesn't equal an ID',
content2 => 'STRING_ID_5',
content3 => 'STRING_ID_8',
};
Если эти значения равны, то я хочу вызвать службу, которая получает меня локализованной строки
Единственный способ, которым я могу думать:
while (($key, $value) = each (%hash1, %hash2)) {
if ($key eq $value) {
$service->getLocalizedString($key);
}
}
Нет, я не следую. Первый бит - на самом деле не действительный perl. Ваши выборочные данные слишком малы, чтобы понять, что вы на самом деле имеете в виду. (хэш элемента). Не могли бы вы уточнить, что вы пытаетесь сделать? – Sobrique
Я буду использовать больше данных образца, но я хочу, чтобы цикл хэш1 и хеш2 одновременно совпадали с ключом одного со значением другого. – snakespan
Добавлены дополнительные данные образца. Я хочу сопоставить первичные нумерованные ключи хэша 1 со случайными значениями hash2. – snakespan