The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
## name Deprecated Class::ISA
## failures 1
## cut

use Class::ISA;

#-----------------------------------------------------------------------------

## name Deprecated Pod::Plainer
## failures 1
## cut

use Pod::Plainer;

#-----------------------------------------------------------------------------

## name Deprecated Shell
## failures 1
## cut

use Shell;

#-----------------------------------------------------------------------------

## name Deprecated Switch
## failures 1
## cut

use Switch;

#-----------------------------------------------------------------------------

## name 2 evil modules
## parms {modules => 'Evil::Module Super::Evil::Module'}
## failures 2
## cut

use Evil::Module qw(bad stuff);
use Super::Evil::Module;

#-----------------------------------------------------------------------------

## name No evil modules
## parms {modules => ' Evil::Module Super::Evil::Module'}
## failures 0
## cut

use Good::Module;

#-----------------------------------------------------------------------------

## name 2 evil modules, with pattern matching
## parms { modules => '/Evil::/ /Demonic/ ' }
## failures 2
## cut

use Evil::Module qw(bad stuff);
use Demonic::Module

#-----------------------------------------------------------------------------

## name More evil modules, with mixed config
## parms { modules => ' /Evil::/ Demonic::Module /Acme/' }
## failures 4
## cut

use Evil::Module qw(bad stuff);
use Super::Evil::Module;
use Demonic::Module;
use Acme::Foo;

#-----------------------------------------------------------------------------

## name More evil modules, with more pattern matching
## parms { modules => '/Evil::|Demonic::Module|Acme/ ' }
## failures 4
## cut

use Evil::Module qw(bad stuff);
use Super::Evil::Module;
use Demonic::Module;
use Acme::Foo;

#-----------------------------------------------------------------------------

## name Pattern matching exceptions
## parms { modules => '/(/' }
## failures 0
## error /invalid regular expression/
## cut

print 'Hello World';

#-----------------------------------------------------------------------------

## name Providing the description for modules, no regular expressions.
## parms { modules => q' Fatal{Found use of Fatal. Use autodie instead} Getopt::Std {Found use of Getopt::Std. Use Getopt::Long instead} ' }
## failures 2
## cut

use Fatal qw< open close >;
use Getopt::Std;

#-----------------------------------------------------------------------------

## name Providing the description for modules, regular expressions.
## parms { modules => q' /Fatal/{Found use of Fatal. Use autodie instead} /Getopt::Std/ {Found use of Getopt::Std. Use Getopt::Long instead} ' }
## failures 2
## cut

use Fatal qw< open close >;
use Getopt::Std;

#-----------------------------------------------------------------------------

## name Providing the description for modules, no regular expressions.
## parms { modules_file => 't/Modules/ProhibitEvilModules.d/modules-no-regular-expressions.txt' }
## failures 3
## cut

use Evil;
use Fatal qw< open close >;
use Getopt::Std;

#-----------------------------------------------------------------------------

## name Providing the description for modules, regular expressions.
## parms { modules_file => 't/Modules/ProhibitEvilModules.d/modules-regular-expressions.txt' }
## failures 3
## cut

use Evil;
use Fatal qw< open close >;
use Getopt::Std;

#-----------------------------------------------------------------------------

#      $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/distributions/Perl-Critic/t/Modules/ProhibitEvilModules.run $
#     $Date: 2010-06-13 12:20:19 -0700 (Sun, 13 Jun 2010) $
#   $Author: clonezone $
# $Revision: 3820 $

##############################################################################
# Local Variables:
#   mode: cperl
#   cperl-indent-level: 4
#   fill-column: 78
#   indent-tabs-mode: nil
#   c-indentation-style: bsd
# End:
# ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :