in reply to Re: Perl allows you to change the definition of false to make it true. (And vice versa.)
in thread Perl allows you to change the definition of false to make it true. (And vice versa.)

This is what boolean does.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
  • Comment on Re^2: Perl allows you to change the definition of false to make it true. (And vice versa.)

Replies are listed 'Best First'.
Re^3: Perl allows you to change the definition of false to make it true. (And vice versa.)
by LanX (Saint) on Dec 14, 2012 at 17:20 UTC
    > > ... For instance this way, one could try to patch booleans in a way that they stringify to "false" and "true" like in JS. ...

    > This is what boolean does.

    well, not yet:

    JS-Console

    >>> true true >>> "stringification: " + (1==1) "stringification: true"

    use v5.10.0; use boolean; say true; say "stringification:" . (1==1);

    output:

    /usr/bin/perl -w /tmp/boolean.pl 1 stringification:1

    but using dualvars could help.

    UPDATE:

    kind of

    use Scalar::Util qw/dualvar/; my $false = dualvar 0, "false"; my $true = dualvar 1, "true"; say $true; say "stringification:" . $true; say "numification: " . (0+$true); say $false; say "stringification: " . $false; say "numification: " . (0+$false);

    Cheers Rolf