У меня есть переменная perl $results
, которая возвращается из службы. Значение должно быть массивом, а $results
должно быть ссылкой на массив. Однако если в массиве содержится только один элемент, этому значению будет присвоено значение $results
, а не ссылочный массив, содержащий этот элемент.
Я хочу сделать цикл foreach
для ожидаемого массива. Не проверяя ref($results) eq 'ARRAY'
, есть ли способ получить что-то эквивалентное следующему:
foreach my $result (@$results) {
# Process $result
}
Этот конкретный пример кода будет работать для справки, но будет жаловаться на простой скаляр.
РЕДАКТИРОВАТЬ: Я должен уточнить, что я не могу изменить то, что возвращается от службы. Проблема заключается в том, что значение будет скалярным, если есть только одно значение, и ссылкой на массив, если существует более одного значения.