Perl curio: For loops and statement modifiers
Perl has a "statement modifier" form of most control structures:
EXPR if EXPR;
EXPR unless EXPR;
EXPR while EXPR;
EXPR until EXPR;
EXPR for EXPR;
Perl also has a C-style for
loop:
for (INIT; COND; STEP) {
...
}
The curious part: COND
is a normal expression, but STEP
allows statement modifiers. That is, you can write:
for (my $i = 0; $i < 10; $i++ if rand() < 0.5) {
print "$i\n";
}
Leave a comment