> Damian Conway wrote: > > > push @moves, [$i, $j]; > > for 0..6 -> $t { > > if abs(@new[$t] - @new[$t+1]) > 3 { > > pop @moves; > > last; > > } > > }
Thomas Seiler writes: > my $is_ok = 1; > for 0..6 -> $t { > if abs(@new[$t] - @new[$t+1]) > 3 { > $is_ok = 0; > last; > } > } > if $is_ok { > yada() # has sideeffects... > } Ironically, this flow control problem was solved many years ago indeed, and with considerable elegance. To wit: my $is_ok = 1; for 0..6 -> $t { if abs(@new[$t] - @new[$t+1]) > 3 { goto SKIP_YADA; } } yada(); SKIP_YADA: Yeah, so I'm a trouble-maker. Sorry: I don't consider downwards, scope-escaping goto to be harmful. Does this cause a bit less heartburn? YADA: { my $is_ok = 1; for 0..6 -> $t { if abs(@new[$t] - @new[$t+1]) > 3 { break YADA; } } yada(); } Loop controls are just goto in disguise, anyhow. -- Gordon Henriksen IT Manager ICLUBcentral Inc. [EMAIL PROTECTED]>