Provided by: libperl-critic-freenode-perl_0.028-1_all bug

NAME

       Perl::Critic::Policy::Freenode::AmpersandSubCalls - Don't use & to call subroutines

DESCRIPTION

       Ampersands ("&") were once needed to call subroutines, but in modern Perl they are not
       only unnecessary but actually change the behavior from what you may expect. Calling a
       subroutine with an ampersand ignores the subroutine's prototype if any, which may change
       what arguments the subroutine receives.  Additionally, calling a subroutine as "&foo;"
       with no arguments will pass on the contents of @_ from the current subroutine, which may
       be quite surprising. Unless used intentionally for this behavior, the ampersand should
       simply be omitted.

         my $value = &foo();  # not ok
         my $sum = &foo(1,2); # not ok
         my $value = foo();   # ok
         my $sum = foo 1,2;   # ok

       This policy is a subclass of the core policy
       Perl::Critic::Policy::Subroutines::ProhibitAmpersandSigils, and performs the same function
       but in the "freenode" theme.

AFFILIATION

       This policy is part of Perl::Critic::Freenode.

CONFIGURATION

       This policy is not configurable except for the standard options.

AUTHOR

       Dan Book, "dbook@cpan.org"

COPYRIGHT AND LICENSE

       Copyright 2015, Dan Book.

       This library is free software; you may redistribute it and/or modify it under the terms of
       the Artistic License version 2.0.

SEE ALSO

       Perl::Critic

perl v5.28.1                               Perl::Critic::Policy::Freenode::AmpersandSubCalls(3pm)