my $i; for $i ( 0 .. 10 ) { last if ; ... } my $x = substr $somestring, 0, $i; #### my $i=0; { ... last if ; $i++; redo; } my $x = substr $somestring, 0, $i; #### $i=0; do{ ... $i++ } until ; my $x = substr $somestring, 0, $i; #### my $i=42; for my $i (1..10){ print $i; } print $i; ## gives 1 2 3 4 5 6 7 8 9 10 42