The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<documentation title="Function Declarations">
    <standard>
    <![CDATA[
    There should be exactly 1 space after the function keyword and 1 space on each side of the use keyword.  Closures should use the Kernighan/Ritchie Brace style and other single-line functions should use the BSD/Allman style.  Multi-line function declarations should have the parameter lists indented one level with the closing parenthesis on a newline followed by a single space and the opening brace of the function.
    ]]>
    </standard>
    <code_comparison>
        <code title="Valid: Correct spacing around function and use keywords.">
        <![CDATA[
$foo = function<em> </em>()<em> </em>use<em> </em>($bar)<em> </em>{
};
        ]]>
        </code>
        <code title="Invalid: No spacing around function and use keywords.">
        <![CDATA[
$foo = function<em></em>()<em></em>use<em></em>($bar)<em></em>{
};
        ]]>
        </code>
    </code_comparison>
    <code_comparison>
        <code title="Valid: Multiline function declaration formatted properly.">
        <![CDATA[
function foo(
<em>    </em>$bar,
<em>    </em>$baz
<em>) {</em>
};
        ]]>
        </code>
        <code title="Invalid: Invalid indentation and formatting of closing parenthesis.">
        <![CDATA[
function foo(
<em></em>$bar,
<em></em>$baz<em>)</em>
<em>{</em>
};
        ]]>
        </code>
    </code_comparison>
</documentation>