September 2017
Beginner
402 pages
9h 52m
English
The :ov adverb changes the way a regex is applied to the string so that all overlapping matches that are the longest at each position will be found.
Let us illustrate this on the task of finding all digit subsequences inside the value of pi, which start and end with 1:
my $pi = '3.1415926535897932384626433832795028841971693993751058209749445923078164';my @a = $pi ~~ m:g/1.*?1/;say ~@a;
This code prints the following values:
141 1971 10582097494459230781
You may notice that it found sequences in different parts of the original value, and they are not intersecting.
Now, let's add the :ov adverb. To add another adverb to a regex that already has one, simply append it to the previous one:
my $pi = '3.1415926535897932384626433832795028841971693993751058209749445923078164'; ...