From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

## name With if
## failures 4
## cut
my $foo = 1 if $bar;
our $foo = 1 if $bar;
my ($foo, $baz) = @list if $bar;
our ($foo, $baz) = 1 if $bar;
#-----------------------------------------------------------------------------
## name With unless
## failures 4
## cut
my $foo = 1 unless $bar;
our $foo = 1 unless $bar;
my ($foo, $baz) = @list unless $bar;
our ($foo, $baz) = 1 unless $bar;
#-----------------------------------------------------------------------------
## name With while
## failures 4
## cut
my $foo = 1 while $bar;
our $foo = 1 while $bar;
my ($foo, $baz) = @list while $bar;
our ($foo, $baz) = 1 while $bar;
#-----------------------------------------------------------------------------
## name With for
## failures 4
## cut
my $foo = 1 for @bar;
our $foo = 1 for @bar;
my ($foo, $baz) = @list for @bar;
our ($foo, $baz) = 1 for @bar;
#-----------------------------------------------------------------------------
## name With foreach
## failures 4
## cut
my $foo = 1 foreach @bar;
our $foo = 1 foreach @bar;
my ($foo, $baz) = @list foreach @bar;
our ($foo, $baz) = 1 foreach @bar;
#-----------------------------------------------------------------------------
## name Passing cases
## failures 0
## cut
for my $foo (@list) { do_something() }
foreach my $foo (@list) { do_something() }
while (my $foo $condition) { do_something() }
until (my $foo = $condition) { do_something() }
unless (my $foo = $condition) { do_something() }
# these are terrible uses of "if" but do not violate the policy
my $foo = $hash{if};
my $foo = $obj->if();
#-----------------------------------------------------------------------------
## name local is exempt
## failures 0
## cut
local $foo = $bar if $baz;
local ($foo) = $bar if $baz;
local $foo = $bar unless $baz;
local ($foo) = $bar unless $baz;
local $foo = $bar until $baz;
local ($foo) = $bar until $baz;
local ($foo, $bar) = 1 foreach @baz;
local ($foo, $bar) = 1 for @baz;
# 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 :