--- /dev/null
+## 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 :