http://www.perlmonks.org?node_id=1068049


in reply to multiple matches per line *AND* multiple capture groups per match

Since you have so many slashes in your regex, I would suggest that you use some other character for delimiting your regex. This enables you to use slashes without escaping them and makes it much more readable. For example:
$test_regexp = qr[url="(http://downloads\.bbc\.co\.uk/podcasts/worldse +rvice/globalnews/ ... mp3))"];
  • Comment on Re: multiple matches per line *AND* multiple capture groups per match
  • Download Code

Replies are listed 'Best First'.
Re^2: multiple matches per line *AND* multiple capture groups per match
by Special_K (Monk) on Dec 22, 2013 at 01:43 UTC
    Wow, I didn't even know you could change the beginning and ending delimiter of a regexp. Is that only if you use the qr function, or can you change the delimiter in any context?
      You can do that with the quote and quote-like operators, but also, for regexes, with the m// and the s/// operators, which can be written, for example, m{...} and s[...]{...} or even m#...#, etc, as shown in the following Perl one-liners:
      $ perl -e 'print $1 if "foobar" =~ m{f(oo)ba}' oo $ perl -e 'print $1 if "foobar" =~ m#f(oo)ba#' oo
      Update: well, thinking again about what I wrote above, m// and s/// are in fact part of the quote and quote-like operators (so Ken's answer said it all), but I just wanted to point out that this can be done in direct regex constructs.