September 2017
Beginner
402 pages
9h 52m
English
This is the simplest regex adverb. It allows the regex to be case-independent. Thus, each of the two regexes m:i/X/ and m:i/x/ will both successfully match with x and X:
my $rx = rx:i/hello/;say 'Matches' if 'Hello, World!' ~~ $rx;
When the :i adverb is located inside the regex, then only the following part is case-insensitive:
say 'No match' if 'HeLLO, World!' !~~ /he :i llo/; say 'Matches' if 'HeLLO, World!' ~~ /He :i llo/;
To stop the action of the adverb, use the negated version:
say 'Matches' if 'HeLLo, World!' ~~ /He :i ll :!i o/;
Capturing and non-capturing braces limit the scope of an adverb:
say 'Not OK' if $str !~~ / (:i hello)\, \s world /;say 'OK' if $str ~~ / [:i hello]\, \s World /;
In these examples, :i