in reply to return !!

The same as:

return @value ? 1 : '';

Replies are listed 'Best First'.
Re^2: return !!
by ikegami (Patriarch) on Mar 04, 2009 at 20:32 UTC

    Not quite.

    $ perl -wle'print 0 + sub { my @v; !!@v }->()' 0 $ perl -wle'print 0 + sub { my @v; @v ? 1 : "" }->()' Argument "" isn't numeric in addition (+) at -e line 1. 0

    And it doesn't return zero for false either.

    $ perl -wle'print "" . sub { my @v; !!@v }->()' $ perl -wle'print "" . sub { my @v; @v ? 1 : 0 }->()' 0

    False is actually dualvar(0, '')