in reply to And plus OR

What does "does not work" mean?

c:\@Work\Perl\monks>perl -wMstrict -le "my $username = 'phil'; my $security = 'phil'; my $type = 'foo'; ;; if (($username eq qq{$security}) && ($type ne 'Check In' || $type ne +'Check Out')) { print qq{\$username and \$security are '$username'}; print qq{\$type is '$type'}; } " $username and $security are 'phil' $type is 'foo'

Update: Please see Short, Self Contained, Correct (Compilable), Example.

Update 2: After looking at tybalt89's guess about your difficulty, I think it's likely right: you're expecting the expression
    $type ne "Check In" || $type ne "Check Out"
to be false sometimes, and it can only be true.


Give a man a fish:  <%-{-{-{-<