Chapter 8. Matching with Regular Expressions
In Chapter 7, you visited the world of Regular Expressions. Now you’ll see how that world fits into the world of Perl.
Matches with m//
In Chapter 7, you put patterns in pairs of forward slashes, like
/fred/
. But this is actually a
shortcut for the m// (pattern match
operator)
, the pattern match operator. As you saw with the qw//
operator, you may choose any pair of delimiters to quote the contents. So, you could
write that same expression as m(fred)
, m<fred>
, m{fred}
, or m[fred]
using those paired delimiters, or as
m,fred,
, m!fred!
, m^fred^
, or many other ways using nonpaired
delimiters.[205]
The shortcut is that if you choose the forward slash as the
delimiter, you may omit the initial m
. Since Perl folks love to avoid typing extra
characters, you’ll see most pattern matches written using slashes, as in
/fred/
.
Of course, you should wisely choose a delimiter that doesn’t
appear in your pattern.[206] If you wanted to make a pattern to match the beginning of
an ordinary web URL, you might
start to write /http:\/\//
to match the initial "http://"
. But
that would be easier to read,
write, maintain, and debug if you used a better choice of delimiter:
m%http://%
.[207] It’s common to use curly braces as the delimiter. If you
use a programmer’s text editor, it probably has the ability to jump from
an opening curly brace to the corresponding closing one, which can be
handy in maintaining code.
Match Modifiers
There are several modifier letters, sometimes ...
Get Learning Perl, 6th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.