我有一个$results
从服务返回的 perl 变量。该值应该是一个数组,并且$results
应该是一个数组引用。但是,当数组中只有一项时,$results
将设置为该值,而不是包含该一项的引用数组。
我想foreach
在预期的数组上做一个循环。如果不检查ref($results) eq 'ARRAY'
,有没有办法获得与以下内容等效的内容:
foreach my $result (@$results) {
# Process $result
}
该特定代码示例将用于参考,但会抱怨简单的标量。
编辑:我应该澄清一下,我无法更改从服务返回的内容。问题在于,当只有一个值时,该值将是一个标量,而当有多个值时,它将是一个数组引用。