in reply to Re^2: 'g' flag w/'qr'
in thread 'g' flag w/'qr'

It must be the case that both m{} and qr{} are *both* pattern matches.

No. Read qr's documentation. It does not perform any matching. It simply compiles a pattern.

Isn't a "pattern match" a "regular expression pattern"?

Matching is the action of checking if something is consistent with a definition.

A pattern is a definition of a set of strings.

Binary "=~" binds a *scalar expression* to a *pattern match*.

Indeed it does. These matching operators are m//, s/// and tr///. If you don't use one of these explicitly, you are using m// implicitly.

$x =~ m// => $x =~ m// $x =~ s/// => $x =~ s/// $x =~ tr/// => $x =~ tr/// $x =~ EXPR ~> $x =~ do { my $anon = EXPR; m/$anon/ }

This means that all of the following are functionally equivalent:

$x =~ m/abc/ $x =~ qr/abc/ $x =~ q/abc/ $x =~ qq/abc/ $x =~ qx/echo abc/ $x =~ 'abc' $x =~ "abc" $x =~ sub { "abc" }->()

What it doesn't mean is that all operators perform regex pattern matching. qr/abc/g makes no more sense than qq/abc/g.