O'Reilly logo

Perl Best Practices by Damian Conway

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Appendix B. Perl Best Practices

This appendix lists the complete set of 256 guidelines presented in this book. The section heading under which each guideline appears is also provided in square brackets.

Chapter 2, Code Layout

  • Brace and parenthesize in K&R style. [Bracketing]

  • Separate your control keywords from the following opening bracket. [Keywords]

  • Don't separate subroutine or variable names from the following opening bracket. [Subroutines and Variables]

  • Don't use unnecessary parentheses for builtins and "honorary" builtins. [Builtins]

  • Separate complex keys or indices from their surrounding brackets. [Keys and Indices]

  • Use whitespace to help binary operators stand out from their operands. [Operators]

  • Place a semicolon after every statement. [Semicolons]

  • Place a comma after every value in a multiline list. [Commas]

  • Use 78-column lines. [Line Lengths]

  • Use four-column indentation levels. [Indentation]

  • Indent with spaces, not tabs. [Tabs]

  • Never place two statements on the same line. [Blocks]

  • Code in paragraphs. [Chunking]

  • Don't cuddle an else. [Elses]

  • Align corresponding items vertically. [Vertical Alignment]

  • Break long expressions before an operator. [Breaking Long Lines]

  • Factor out long expressions in the middle of statements. [Non-Terminal Expressions]

  • Always break a long expression at the operator of the lowest possible precedence. [Breaking by Precedence]

  • Break long assignments before the assignment operator. [Assignments]

  • Format cascaded ternary operators in columns. [Ternaries]

  • Parenthesize long ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required