[snarky quote from perlfunc omitted]

Ha ha. :)

Unfortunately, it's not clear that this is an endorsement of using the naked return to signal false or failure: it is only a statement that it will, in fact, return something which will be interpreted as false by perl in whatever context it is called from. The question at hand, though, is whether there is any argument (either from authority or from a rational basis) for declaring the naked return as the "best" way to return false.

At the least, I would argue that using it fits the principle of least surprise. (I wouldn't want to have a list that explicitly returns undef suddenly be interpreted as "true" just because I changed the context I was returning it into.)

I actively dislike the solutions recommended so far (always return either undef or (), and then document it). Unless there is a very specific reason to do otherwise, I would prefer that people just use the naked return and let the calling context figure out what to do with it.


In reply to Re^3: Functions that return nothing, nada, failure... by tkil
in thread Functions that return nothing, nada, failure... by leriksen

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.