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