in reply to Re^2: Defining, Testing and Documenting Perl?
in thread Defining, Testing and Documenting Perl?
I believe a tied hash can override how it behaves in scalar context, so that an empty hash can return true and a non-empty hash can return false.
An overloaded object can do various tricky things with regards to how it behaves as a boolean. For example, it could die.
if ($x || $y) { say "Something was true. What was it?"; say '$x' if $x; say '$y' if $y; } else { say "Neither was true."; }
It is possible for this to print "Something was true?" but not tell you what was true. This is because $x or $y could be an overloaded object returning true or false at random each time they are checked.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: Defining, Testing and Documenting Perl?
by LanX (Saint) on Dec 24, 2019 at 02:09 UTC |
In Section
Meditations