On Thu, 2002-03-28 at 08:54, Michael D. Risser wrote:
> OK here's the problem:
> 
> I have an array that may or may not have been assigned to, if it has been 
> assigned to I need to do one thing, otherwise I need to do something else.
> 
> I've tried many variations, but I'm having trouble determining if it has been 
> assigned to.
> 
> if(undef @myArray) {
>     # Do thing1
> } elsif(!undef @myArray) {
>     # Do thing2
> }
> 
> and
> 
> if ($myArray[0] ne "") {
>     # thing1
> } else {
>     # thing2
> }
> 
> as well as a few other variations. Printing out the array BEFORE the if block 
> shows nothing in the array, yet it does thing1.
> 
> After trying many different methods, I am totally lost, please help me!
> 
> TIA

Since an array returns the number of elements it contains when 
it is evaluated in scalar context why don't you just say:

#0 is false, non-zero is true so if @myArray has data
#then we do something otherwise we do something else
if (@MyArray) {
        local($") = ','; #make the interpolation of @MyArray use ','s
        print "my \@MyArray = (@MyArray);\n";
} else {
        print "my \@MyArray;\n";
}
        

-- 
Today is Boomtime the 14th day of Discord in the YOLD 3168
You are what you see.

Missile Address: 33:48:3.521N  84:23:34.786W


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to