Perl Control Flow

Conditionals and loops in Perl

If Statement

if ($x > 10) { # check condition
    print "Greater\n";
} elsif ($x == 10) { # additional check
    print "Equal\n";
} else { # default case
    print "Less\n";
}

Unless Statement

unless ($error) { # if NOT condition
    print "Success\n";
}
print "OK\n" unless $error; # postfix form

For Loop

for (my $i = 0; $i < 10; $i++) { # C-style for loop
    print "$i\n";
}

Foreach Loop

foreach my $item (@array) { # iterate array
    print "$item\n";
}
foreach (1..10) { # iterate range
    print "$_\n"; # default variable $_
}

While Loop

while ($condition) { # repeat while true
    # code
}
until ($condition) { # repeat until true
    # code
}

Loop Control

last; # exit loop (like break)
next; # skip to next iteration (like continue)
redo; # restart current iteration