Provided by: libperl-critic-perl_1.152-1_all bug

NAME

       Perl::Critic::Policy::Modules::RequireFilenameMatchesPackage - Package declaration must match filename.

AFFILIATION

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

DESCRIPTION

       The package declaration should always match the name of the file that contains it.  For example, "package
       Foo::Bar;" should be in a file called "Bar.pm".  This makes it easier for developers to figure out which
       file a symbol comes from when they see it in your code.  For instance, when you see "Foo::Bar->new()",
       you should be able to find the class definition for a "Foo::Bar" in a file called Bar.pm

       Therefore, this Policy requires the last component of the first package name declared in the file to
       match the physical filename.  Or if "#line" directives are used, then it must match the logical filename
       defined by the prevailing "#line" directive at the point of the package declaration.  Here are some
       examples:

         # Any of the following in file "Foo/Bar/Baz.pm":
         package Foo::Bar::Baz;     # ok
         package Baz;               # ok
         package Nuts;              # not ok (doesn't match physical filename)

         # using #line directives in file "Foo/Bar/Baz.pm":
         #line 1 Nuts.pm
         package Nuts;             # ok
         package Baz;              # not ok (contradicts #line directive)

       If the file is not deemed to be a module, then this Policy does not apply.  Also, if the first package
       namespace found in the file is "main" then this Policy does not apply.

CONFIGURATION

       This Policy is not configurable except for the standard options.

AUTHOR

       Chris Dolan <cdolan@cpan.org>

COPYRIGHT

       Copyright (c) 2006-2011 Chris Dolan.

       This program is free software; you can redistribute it and/or modify it under the same terms as Perl
       itself.

perl v5.36.0                                   Perl::Critic::Policy::Modules::RequireFilenameMatchesPackage(3pm)