in reply to Re^6: curly braces around a lexical file handle
in thread curly braces around a lexical file handle

The reason is that when you debug stuff, you can't rely on the fact that code you read is sane or correct.

I don't know why you brought up debugging again. We're discussing code readability. Readable code is code that's aligned with the natural assumptions of the reader. Like you said, you can't rely on those assumptions when debugging, so it's not relevant to this conversation.

Which (when read inaccurately) could either print to a response file handle, or print a response.

You'd never see print $response $/; alone. One only writes a line ending to a handle if one just wrote to the handle or if you're about to write to the handle. Out of context, this looks pretty ambiguous, but there's no way I'd get it wrong in context.

Prints to file handles tend to occur in series and usually right after an open. The pattern is highly visible, and tends be noticed instantly.

The arguments for mandating curlies sound reasonable, but in practice, even with all the bad code I debug on PerlMonks, I don't believe curlies would ever have helped me. Quite the opposite, they distract me when I do see them because almost noone uses them.

For foreign code I have no influence on the naming

You can't add curlies to foreign code either, so that's not relevant.

Replies are listed 'Best First'.
Re^8: curly braces around a lexical file handle
by moritz (Cardinal) on May 31, 2010 at 18:14 UTC
    I don't know why you brought up debugging again.

    Because I need to read code to debug it. So debugging is an important "use case" of readability.

    Perl 6 - links to (nearly) everything that is Perl 6.
      Say I had that luxury, what's special about readability when debugging as opposed to just readability?