in reply to Can you do "conjunctive" (overlapping) conditions in a single regexp?
This won't give exactly the same results as a hypothetical split ( /($re)/ && length $1 < $limit ), $string—for example, if $re is /a+/, $limit is 1, and $string is 'aa'—but maybe it's close enough.my @clumsy_split = split /($re)/, $string; my @split; my $flag = 0; for my $i ( 0 .. $#clumsy_split ) { my $field = $clumsy_split[$i]; if ( $flag ) { $flag = 0; } elsif ( $i % 2 || length $field < $limit ) { push @split, $field; next; } else { $flag = 1; } $split[-1] .= $field; }
|
|---|