Search code examples
perlboolean-expression

Test two boolean values with AND operator in Perl


I want to test two boolean values in Perl. In case both are 0 do x, in case not do y. For example: $var1 = 0; false in Perl $var2 = 0; false in Perl

if($var1==0 && var2==0)
{
  x //both are false
}
else
{
 y //both are true
}

Solution

  • if ( $var1 && $var2 ) {
       # Both are true.
    }
    elsif ( !$var1 && !$var2 ) {
       # Both are false.
    }
    

    or

    if ( !( $var1 xor $var2 ) ) {
       # Both are true or both are false.
       if ( $var1 ) {
          # Both are true.
       } else {
          # Both are false.
       }
    }
    

    or

    if ( $var1 ) { 
       if ( $var2 ) {
          # Both are true.
       }
    } else {
       if ( !$var2 ) {
          # Both are false.
       }
    }