Perl::Critic::Policy::ControlStructures::ProhibitUnreachableCode - Don't write code after an unconditional die, exit, or next
.
This Policy is part of the core Perl::Critic distribution.
This policy prohibits code following a statement which unconditionally alters
the program flow. This includes calls to exit
, die
, return
, next
,
last
and goto
. Due to common usage, croak
and confess
from
Carp are also included.
Code is reachable if any of the following conditions are true:
&&
, ||
, //
, and
, or
, or err
.
goto
)
# not ok exit; print "123\n"; # ok exit if !$xyz; print "123\n"; # not ok for ( 1 .. 10 ) { next; print 1; } # ok for ( 1 .. 10 ) { next if $_ == 5; print 1; } # not ok sub foo { my $bar = shift; return; print 1; } # ok sub foo { my $bar = shift; return if $bar->baz(); print 1; } # not ok die; print "123\n"; # ok die; LABEL: print "123\n"; # not ok croak; do_something(); # ok croak; sub do_something {}
This Policy is not configurable except for the standard options.
Perl::Critic::Policy::ControlStructures::ProhibitPostfixControls
Peter Guzis <pguzis@cpan.org>
Copyright (c) 2006-2008 Peter Guzis. All rights reserved.
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.