Provided by: libperl-critic-community-perl_1.0.3-1_all 

NAME
Perl::Critic::Policy::Community::IndirectObjectNotation - Don't call methods indirectly
DESCRIPTION
Perl allows a form of method call where the method name is first, followed by the invocant (class or
object to call the method on), then the argument list. This is an unfortunate legacy syntax that should
no longer be used. See "Indirect Object Syntax" in perlobj and "REFERENCES" in indirect for more
information.
my $obj = new My::Class @args; # not ok
my $obj = My::Class->new(@args); # ok
It is difficult to detect indirect object notation by static analysis, so this policy only forbids the
"new" method call by default, as it is highly unlikely to be the name of a standard subroutine call.
Consider using the indirect pragma to cause the code to warn or die when indirect object notation is
used.
This policy is a subclass of the Perl::Critic core policy
Perl::Critic::Policy::Objects::ProhibitIndirectSyntax, and performs the same function but in the
"community" theme.
AFFILIATION
This policy is part of Perl::Critic::Community.
CONFIGURATION
This policy can be configured, in the same way as its parent policy
Perl::Critic::Policy::Objects::ProhibitIndirectSyntax, to attempt to forbid additional method names from
being called indirectly. Be aware this may lead to false positives as it is difficult to detect indirect
object notation by static analysis. The "new" subroutine is always forbidden in addition to these.
[Community::IndirectObjectNotation]
forbid = create destroy
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, indirect
perl v5.34.0 2022-07-27 Perl::Critic::...tObjectNotation(3pm)