Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help

       Perl::Critic::Policy::Modules::ProhibitEvilModules - Ban	modules	that
       aren't blessed by your shop.

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

       Use this	policy if you wish to prohibit the use of specific modules.
       These may be modules that you feel are deprecated, buggy, unsupported,
       insecure, or just don't like.

       The set of prohibited modules is	configurable via the "modules" and
       "modules_file" options.

       The value of "modules" should be	a string of space-delimited, fully
       qualified module	names and/or regular expressions.  An example of
       prohibiting two specific	modules	in a .perlcriticrc file:

	   modules = Getopt::Std Autoload

       Regular expressions are identified by values beginning and ending with
       slashes.	 Any module with a name	that matches "m/pattern/" will be
       forbidden.  For example:

	   modules = /Acme::/

       would cause all modules that match "m/Acme::/" to be forbidden.

       In addition, you	can override the default message ("Prohibited module
       "module"	used") with your own, in order to give suggestions for
       alternative action.  To do so, put your message in curly	braces after
       the module name or regular expression.  Like this:

	   modules = Fatal {Found use of Fatal.	Use autodie instead} /Acme::/ {We don't	use joke modules}

       Similarly, the "modules_file" option gives the name of a	file
       containing specifications for prohibited	modules.  Only one module
       specification is	allowed	per line and comments start with an octothorp
       and run to end of line; no curly	braces are necessary for delimiting

	   Evil	    # Prohibit the "Evil" module and use the default message.

	   # Prohibit the "Fatal" module and give a replacement	message.
	   Fatal Found use of Fatal. Use autodie instead.

	   # Use a regular expression.
	   /Acme::/	We don't use joke modules.

       By default, the modules that have been deprecated by the	Perl 5 Porters
       are reported; at	the time of writing these are Class::ISA,
       Pod::Plainer, Shell, and	Switch.	 Specifying a value for	the "modules"
       option will override this.

       Note that this policy doesn't apply to pragmas.

       Jeffrey Ryan Thalhammer <>

       Copyright (c) 2005-2011 Imaginative Software Systems.  All rights

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.  The full text of this license can
       be found	in the LICENSE file included with this module.

perl v5.32.0		 Perl::Critic::Policy::Modules::ProhibitEvilModules(3)


Want to link to this manual page? Use this URL:

home | help