Useful Flags

Contents | Up | Prev | Next

# 7.8. Useful Flags

There are other flags besides `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 occurences, not just one. If used with a match in an array context (e.g: `@occurences = ($string =~ /$regexp/g);`) it retrieves all the matches and if used with a substitution it substitutes all the occurences with the string.

This example replaces all the occurences of the word "hello" by the index of their occurence:

    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";

Contents | Up | Prev | Next