http://qs321.pair.com?node_id=138047


in reply to Help with this statement

I believe your problem is the non-transative nature of the perl || and 'or' operators. in this case you are asking if it is equal to 456 or just 453. 453 of course is never 0 and therefore will be true. Hence printing something. to fix this just add.
if ($value == 456 || $value == 453){ print something; } else { print nothing; }
That should clear things up.

Replies are listed 'Best First'.
(cLive ;-) Re: Help with this statement
by cLive ;-) (Prior) on Jan 11, 2002 at 23:20 UTC
    I couldn't resist this as a TIMTOWTDI :)
    unless (abs($value - 454.5) - 1.5) { print something; } else { print nothing; }

    cLive ;-)

      just as an alternative, it can also be written as:
      my $value = 444; if ($value == 456) { print "something"; } elsif ($value == 453) { print "something"; } else { print "nothing"; }
Re: Re: Help with this statement
by basicdez (Pilgrim) on Jan 11, 2002 at 20:59 UTC
    Thanks I got it working now. peace dez L