7.8. Useful Flags
There are other flags than e
that can be appended to the end of the match or substitution.
An i
following the regular expression call, causes a case-insensitive operation on the string. Thus, for example, an "A" will match both "a" and "A". Note that the strings placed in $1
, $2
and friends will still retain their original case.
A g
causes the match or substitution to match all occurrences, not just one. If used with a match in an array context (e.g: @occurrences = ($string =~ /$regexp/g);
) it retrieves all the matches and if used with a substitution it substitutes all the occurrences with the string.
This example replaces all the occurrences of the word "hello" by the index of their occurrence:
use strict; use warnings; my $index = 0; sub put_index { $index++; return $index; } my $string = shift; $string =~ s/hello/put_index()/gei; print $string, "\n";