Rechercher une page de manuel
Perl::Critic::Policy::Modules::RequireFilenameMatchesPackage.3pm
Langue: en
Version: 2010-05-11 (ubuntu - 24/10/10)
Section: 3 (Bibliothèques de fonctions)
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.pmTherefore, 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-2009 Chris Dolan.This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre