The return is indeed a label. But labels don't label blocks, they label statements. A block is a form of a statement, but not all statements are blocks. In this case, the statement is 3. But even it it were a block, blocks don't return true/false. The return value of a block is the value of the last statement executed.

Does the label get evaluated at all?
Labels never get "evaluated".
Given that 'return' does little other than declare the end of the subroutine, is there really anything wrong with his usage?
'return' (as a statement) doesn't declare the end of a subroutine, it's just a way to exit the subroutine. You can have a return statement halfway the subroutine. Whether there's something "wrong" depends on what you mean by it. If 'fn' is supposed to return '3', then it will, regardless whether the label is there. But this is not a general return statement.
sub fn { if (1) { return: 3 } 2 }
is not going to return 3. It will return 2. So it that sense, the use to 'return:' is wrong.

In reply to Re: 'return:' instead of 'return' by JavaFan
in thread 'return:' instead of 'return' by Boldra

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.