in reply to Re^4: Do I need to use defined?
in thread Do I need to use defined?

Empty arrays and hashes become zero in scalar context, and zero is false.

Replies are listed 'Best First'.
Re^6: Do I need to use defined?
by afoken (Chancellor) on Sep 07, 2017 at 07:04 UTC
    ...

    Read my posting again. I'm using list context in both cases.

    Or just read "Truth and Falsehood" in perlsyn:

    The number 0, the strings '0' and "" , the empty list () , and undef are all false in a boolean context. All other values are true. Negation of a true value by ! or not returns a special false value. When evaluated as a string it is treated as "" , but as a number, it is treated as 0. Most Perl operators that return true or false behave this way.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
      I'm using list context in both cases.
      No you're not. or puts its left-hand argument in scalar context.