in reply to Re: Re: Can If-then conditions do ($a = $b = $c) type expressions?
in thread Can If-then conditions do ($a = $b = $c) type expressions?

I don't know about easy to read but it can be done in a roundabout sort of way:
$a = 5; $b = 5; $c = 5; if ((($a == $b ) + ($a -1)) == $c) { print "yes!!!\n"; }
or better yet:
# given three equal variables if (($a == $b ) == ($b == $c)) { print "yes!!!\n"; } # as pointed out by Sidhekin # given three different variables if (($a == $b ) == ($b == $c)) { print "yes!!!\n"; } # still prints 'yes!!!\n'. Why? # both sides evaluate to false or 0, # and 0 == 0 evaluates to true
Again, I'm not saying I'd use this... ;0)

Update: Thanks to Sidhekin for pointing out my misstep. It does work with 2 same and 1 different variable. ;0)




Amel

Replies are listed 'Best First'.
Re: (Amel)Re: Re: Re: Can If-then conditions do ($a = $b = $c) type expressions?
by Sidhekin (Priest) on Apr 25, 2002 at 20:28 UTC

    $a = 5; $b = 5; $c = 5; if ((($a == $b ) + ($a -1)) == $c) { print "yes!!!\n"; }

    Amel is one dangerous monk {grin} ... observe:

    $a = 6; $b = 5; $c = 5; if ((($a == $b ) + ($a -1)) == $c) { print "yes!!!\n"; }

    # given three equal variables if (($a == $b ) == ($b == $c)) { print "yes!!!\n"; }

    Yeah, right, "given three equal variables". Given three different variables, however ...

    $a = 6; $b = 4; $c = 5; if (($a == $b ) == ($b == $c)) { print "yes!!!\n"; }

    ++ for not saying you'd use this ;-)

    Update:... and here I had finally convinced myself Amel had to be joking ... oh well ...
    You're welcome to that ++ anyways — the joke is none the worse for being unintended ;)

    The Sidhekin
    print "Just another Perl ${\(trickster and hacker)},"