my $ok = 1; local *myok = \$ok; # Needed to avoid closure in code assertion. $str =~ m/(.)(.)(??{ $myok = 0 if $2 lt $1; 0 })/;