http://www.perlmonks.org?node_id=564847


in reply to Re^2: Secret Perl Operators: The Highlander List Asserter
in thread Secret Perl Operators: the boolean list squash operator, x!!

"Boolean Cast Operator" would be a less cryptic name than "Highlander Operator" for !!.

It's not even correct to say it returns 1. For example, print "[", !!1, "]" prints []. For a true argument, !! returns the dualvar 1/''.

Update: I got it backwards. True = dualvar (PVNV) 1/'1', False = dualvar (PVNV) 0/''.

Replies are listed 'Best First'.
Re^4: Secret Perl Operators: The Highlander's List Asserter
by shmem (Chancellor) on Jul 31, 2006 at 19:47 UTC
    Hmm? Is that platform dependent?
    lt-gm [gm] 21:43 ~ > perl -le 'print "[", !!1, "]"' [1]

    Linux, perl 5.8.8. I choose "Higlander Operator" following the unstated naming conventions other secret operators follow ;-)

    --shmem

    _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                  /\_¯/(q    /
    ----------------------------  \__(m.====·.(_("always off the crowd"))."·
    ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}