Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

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

by jdporter (Chancellor)
on Oct 17, 2012 at 19:43 UTC ( #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?

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (1)
As of 2023-06-05 23:14 GMT
Find Nodes?
    Voting Booth?
    How often do you go to conferences?

    Results (26 votes). Check out past polls.