## name Basic failure ## failures 6 ## cut do_something() if $condition; do_something() while $condition; do_something() until $condition; do_something() unless $condition; do_something() for @list; do_something() foreach @list; #----------------------------------------------------------------------------- ## name Configured to allow all ## failures 0 ## parms {allow => 'if while until unless for foreach'} ## cut do_something() if $condition; do_something() while $condition; do_something() until $condition; do_something() unless $condition; do_something() for @list; do_something() foreach @list; #----------------------------------------------------------------------------- ## name Configured to allow all, all regular control structures ## failures 0 ## parms {allow => 'if unless until while'} ## cut if($condition){ do_something() } while($condition){ do_something() } until($condition){ do_something() } unless($condition){ do_something() } #----------------------------------------------------------------------------- ## name Regular for loops ## failures 0 ## cut #PPI versions < 1.03 had problems with this for my $element (@list){ do_something() } for (@list){ do_something_else() } foreach my $element (@list){ do_something() } foreach (@list){ do_something_else() } #----------------------------------------------------------------------------- ## name Legal postfix usage ## failures 0 ## cut use Carp; while ($condition) { next if $condition; last if $condition; redo if $condition; return if $condition; goto HELL if $condition; exit if $condition; } die 'message' if $condition; die if $condition; warn 'message' if $condition; warn if $condition; carp 'message' if $condition; carp if $condition; croak 'message' if $condition; croak if $condition; cluck 'message' if $condition; cluck if $condition; confess 'message' if $condition; confess if $condition; exit 0 if $condition; exit if $condition; #----------------------------------------------------------------------------- ## name override exempt flowcontrols ## failures 0 ## parms {flowcontrol => 'assert'} ## cut use Carp::Assert; assert $something if $condition; #----------------------------------------------------------------------------- ## name overriding exempt flowcontrols restores the defaults ## failures 8 ## parms {flowcontrol => 'assert'} ## cut use Carp::Assert; warn $something if $condition; die $something if $condition; carp $something if $condition; croak $something if $condition; cluck $something if $condition; confess $something if $condition; exit $something if $condition; do_something() if $condition; #----------------------------------------------------------------------------- ## name Individual "keyword" hash assignment ## failures 0 ## cut my %hash; $hash{if} = 1; $hash{unless} = 1; $hash{until} = 1; $hash{while} = 1; $hash{for} = 1; $hash{foreach} = 1; #----------------------------------------------------------------------------- ## name "Keyword"-list hash assignment ## failures 0 ## cut my %hash = ( if => 1, unless => 1, until => 1, while => 1, for => 1, foreach => 1, ); #----------------------------------------------------------------------------- ############################################################################## # $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/Perl-Critic/t/ControlStructures/ProhibitPostfixControls.run $ # $Date: 2008-03-16 17:40:45 -0500 (Sun, 16 Mar 2008) $ # $Author: clonezone $ # $Revision: 2187 $ ############################################################################## # 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 :