for (my $i = 1; $i < 10; $i++) {
...
}
####
{
my $i = 1;
while ($i < 10) {
...
} continue {
$i++;
}
}
####
use strict;
use warnings;
# ---------- for c-style
my @cfor;
for ( my $x = 1 ; $x < 4; $x++ ) {
my $i = $x;
push @cfor, sub { warn "cfor: \ti=$i \tx=$x" };
}
$_->() for @cfor;
# ---------- while
my @values = 1..3;
my @while;
my $x;
while ( my $i = shift @values ) {
$x = $i;
push @while, sub { warn "while: \ti=$i \tx=$x" };
}
$_->() for @while;
####
cfor: i=1 x=4 at d:/exp/pm_closure2.pl line 11.
cfor: i=2 x=4 at d:/exp/pm_closure2.pl line 11.
cfor: i=3 x=4 at d:/exp/pm_closure2.pl line 11.
while: i=1 x=3 at d:/exp/pm_closure2.pl line 25.
while: i=2 x=3 at d:/exp/pm_closure2.pl line 25.
while: i=3 x=3 at d:/exp/pm_closure2.pl line 25.