The implication is that wittingly or unwittingly you want undef to be the only false value. I think that is the higher priority anomaly to address in your story. With Perl it is far more viable to enforce a regime of true=ok false=not ok and use boolean logic rather than testing for defined() or specific values, with some exceptions such as testing for the presence of keys/indexes in hashes/arrays or managing return codes from external programs or scripts. So in the given example I would expect to deal with it much more simply from where $x goes wrong e.g.:
$x = ...
or return;
But if say $x == 0 is okay for continuing, then:
defined( $x = ... )
or return;
I can conceive of returning undef explicitly in some cases but if you are deviating too often from "statement or return" simplicity then it's your boolean logic management that really needs simplifying rather than addressing the symptoms in the form of more complex value logic.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.