Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^3: What is true and false in Perl?

by jdporter (Paladin)
on Oct 17, 2012 at 19:43 UTC ( [id://999597]=note: print w/replies, xml ) Need Help??


in reply to Re^2: What is true and false in Perl?
in thread What is true and false in Perl?

print "true" if "IS" eq "evaluates to in scalar context"; # doesn't pr +int.

Replies are listed 'Best First'.
Re^4: What is true and false in Perl?
by Anonymous Monk on Oct 17, 2012 at 23:40 UTC
    what are you trying to say?

      The same thing tobyink and tye said, though more obtusely and snarkily.

      Here's another example:

      tie my $var, 'Some::BlackBox::Module'; $var = "45"; if ( $var ) { print "var is true\n" } # doesn't print! WTF?

      The mere fact that an expression evaluates to a true value in scalar context doesn't mean it is true.

      tie and overload are among the user-accessible features which can muddy the true/false waters.

      An example like this should make the principle more obvious:

      my $obj = ObjectWithLotsOfOpaqueStructure::AndLotsOfHiddenState->new( -use_overloading => 1, ); if ( $obj ) { print "obj is 'true'.\n"; # What does this even mean? # Maybe obj is an iterator with another available item? }

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (6)
As of 2024-04-19 10:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found