Risk-Aware AI Code Review for Business-Critical Systems
LiveReview LiveReview Explore LiveReview

Perl::Critic::Policy::ControlStructures::ProhibitLabelsWithSpecialBlockNames - Don't use labels that are

Acknowledgment

       Randy Lauen for identifying the problem.

Affiliation

       This Policy is part of the core Perl::Critic distribution.

Author

       Mike O'Regan

Configuration

       This Policy is not configurable except for the standard options.

Description

       When using one of the special Perl blocks "BEGIN", "END", "CHECK", "INIT", and "UNITCHECK", it is easy to
       mistakenly add a colon to the end of the block name.  E.g.:

           # a BEGIN block that gets executed at compile time.
           BEGIN { <...code...> }

           # an ordinary labeled block that gets executed at run time.
           BEGIN: { <...code...> }

       The labels "BEGIN:", "END:", etc. are probably errors.  This policy prohibits the special Perl block
       names from being used as labels.

Name

       Perl::Critic::Policy::ControlStructures::ProhibitLabelsWithSpecialBlockNames - Don't use labels that are
       the same as the special block names.

See Also

See Also