in reply to Re: Value of a statement with modifier
in thread Value of a statement with modifier

A small quibble, but I believe the first example should be written as:

return $_[ 0 ] ? () : 'hello';

--
"Go up to the next female stranger you see and tell her that her "body is a wonderland."
My hypothesis is that she’ll be too busy laughing at you to even bother slapping you.
" (src)

Replies are listed 'Best First'.
Re^3: Value of a statement with modifier
by hossman (Prior) on Jan 23, 2007 at 02:40 UTC

      Returning undef for false is more broken than returning empty lists for false. At least an empty list is easily promoted to a false or undef value but an undef value in a list is not as easily demoted to a false value. I think all the people returning undef for false are shortsighted and I hope they never get their hands on my code.

      sub empty {} if ( empty() ) { ... } # ok @foo = empty(); if ( @foo ) { ... } # ok sub returns_undef { undef } if ( returns_undef() ) { ... } # ok @foo = returns_undef(); if ( @foo ) { ... } # NOT OK if ( grep { defined } @foo ) { ... } # oh ok, now it's "better".

      ⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊