Chapter 8. Matching with Regular Expressions
In the previous chapter, you visited the world of regular expressions. Now you’ll see how that world fits into the world of Perl.
Matches with m//
We’ve been writing patterns in pairs of forward slashes, like /fred/
. This is a shortcut for the m//
(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. [188]
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/
.
Choose a delimiter that doesn’t appear in your pattern.[189] If you wanted to make a pattern to match the beginning of an ordinary web URL, you might write /http:\/\//
to match the initial "http://
“. But that’ll be easier to read, write, maintain, and debug if you use a better choice of delimiter: m%http://%
.[190] 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.
[188] Nonpaired delimiters are the ones that don’t have a different “left” and “right” variety; the same punctuation mark is used ...
Get Learning Perl, Fourth 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.