in reply to Re: array check help
in thread array check help

DigitalKitty,
While this is on the money, it might be useful to indicate why an empty array is false and a non-empty array is true. The "What is Truth" tutorial has some good information.

An array in this context will return the number of elements in the array. For purposes of truth, anything that equates to a non-zero value or an empty string is considered true. Even if the array had one element that was undef - it would be true. I think it really depends on what the OP meant by empty. I have seen a lot of people new to Perl think that because there are only undef elements, it is empty. While this is not true (pun intended), an alternative solution needs to be provided for this possibility of misunderstanding. This could be solved with this monstrosity:

(grep defined, @array) ? print "It has at least one non-undefined elem +ent\n" : print "It is effectively empty\n";

Cheers - L~R