Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: Re: variable set to 0 ? 0 : 1

by hossman (Prior)
on Sep 06, 2002 at 08:01 UTC ( [id://195594]=note: print w/replies, xml ) Need Help??


in reply to Re: variable set to 0 ? 0 : 1
in thread variable set to 0 ? 0 : 1

Another pitfall may or may not be the == 0. Is it meant to test falseness? If so, it is not precise. Perl understands the notion of an undefined value, which is not the same as zero, so this test is broken if it means to check falseness.

Well, accutally.... it's true that undefined is not the "same" as zero, but they are numericly equal. As you can see, it generates a warning, but it does evaluate to true...

laptop:~> perl -wle 'print "TrUe" if undef == 0' Use of uninitialized value in numeric eq (==) at -e line 1. TrUe

A better example as to why you wouldn't want to use "$status == 0" as a test for truth is non numeric strings. the string "foo" is true, but it is numericly equal to 0...

laptop:~> perl -le 'print "TrUe" if "foo" == 0' TrUe laptop:~> perl -le 'print "TrUe" if "foo"' TrUe

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://195594]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (7)
As of 2024-03-29 14:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found