ठीक है अगर आप नहीं कर सकते ...
for my $result ( ref $results eq 'ARRAY' ? @$results : $results ) {
# Process result
}
या यह...
for my $result ( ! ref $results ? $results : @$results ) {
# Process result
}
तो आपको इस तरह कुछ बालों वाली डरावनी कोशिश करनी पड़ सकती है!
for my $result ( eval { @$results }, eval $results ) {
# Process result
}
और उस खतरनाक स्ट्रिंग से बचने के लिए यह वास्तव में बदसूरत हो जाता है !!
for my $result ( eval { $results->[0] } || $results, eval { @$results[1 .. $#{ $results }] } ) {
# Process result
}
पुनश्च। मेरी प्राथमिकता इसे उप-कॉल कॉल_to_service() उदाहरण में रीटमन द्वारा दिया गया है।