Correct me if i'm wrong...but I think the logic is wrong...but than again I'm spaced out today..
Try to break up your if statements(much easier to debug..) or use 'eval' as suggested in previous note..
Comment on Re: Net::FTP not catching errors, my fault?
yup, just a few moments ago I came to the same realization after placing my logic up on a big white board. I stepped back and realized that if (this or that) will usually return true and my if() will continue. so, I'll try the eval and report back.