]> git.vpit.fr Git - perl/modules/Perl-Critic-Policy-Dynamic-NoIndirect.git/blobdiff - lib/Perl/Critic/Policy/Dynamic/NoIndirect.pm
Spelling
[perl/modules/Perl-Critic-Policy-Dynamic-NoIndirect.git] / lib / Perl / Critic / Policy / Dynamic / NoIndirect.pm
index 3769d30fd9c7d084336710312b8b34e0493d4508..74d3430fcf0ceb0af6bc43552687d0a62f4a6346 100644 (file)
@@ -118,7 +118,7 @@ sub violates_dynamic {
 
 =head1 CAVEATS
 
-The uses of the L<indirect> pragma inside the auditted code take precedence over this policy.
+The uses of the L<indirect> pragma inside the audited code take precedence over this policy.
 Hence no violations will be reported for indirect method calls that are located inside the lexical scope of C<use indirect> or C<< no indirect hook => ... >>.
 Occurrences of C<no indirect> won't be a problem.
 
@@ -132,6 +132,13 @@ L<Perl::Critic>, L<Perl::Critic::Dynamic>.
 
 L<indirect>.
 
+=head1 SEE ALSO
+
+L<Perl::Critic::Policy::Objects::ProhibitIndirectSyntax> is a L<Perl::Critic> policy that statically checks for indirect constructs.
+But to be static it has to be very restricted : you have to manually specify which subroutine names are methods for which the indirect form should be forbidden.
+This can lead to false positives (a subroutine with the name you gave is defined in the current scope) and negatives (indirect constructs for methods you didn't specify).
+But you don't need to actually compile (or run, as it's more or less the same thing) the code.
+
 =head1 AUTHOR
 
 Vincent Pit, C<< <perl at profvince.com> >>, L<http://www.profvince.com>.