http://www.perlmonks.org?node_id=1031646


in reply to Re: Looking for discussions of "block after or" syntax error
in thread Looking for discussions of "block after or" syntax error

print returns false on failure, in which case the 'and' would short-circuit and exit would never get called.

Granted, it's pretty unusual for print to fail -- so rare that we rarely test for success in our prints, and usually don't think in terms of "this could fail", but when you absolutely positively want to exit, don't include a logical test on print's success.


Dave

Replies are listed 'Best First'.
Re^3: Looking for discussions of "block after or" syntax error
by Laurent_R (Canon) on May 01, 2013 at 21:34 UTC

    Agreed. I did not think about that. And I usually don't do such a print anyway but rather a die statement (although, going to the end of this logic, what do you do if die fails? Do you 'die "i failed" or die "die failed"'?

    Usually, the only reason I want to know that opening a file failed if to get an immediate diagnostic of the reason for the program failure. If the print statement fails, well, I am likely to have more severe problems than just file opening.

      die doesn't have a useful return value (to my knowledge), and would never be placed on the lefthand side of a logical short circuit.


      Dave