(Use the <code> tag to delimit code blocks like your regex, or PM will interpret them as square-bracket special link codes...)

In this case, perl will return the list of those patterns that match. So you're ok, since your patterns don't overlap.

If you had something like this:

$str=~/(DPL|DPLA)/g
then the DPLA alternative would never match, since DPL would.

Edit: Someone said in /msg that I'm wrong if the string is "DPLA DPL", claiming both will match.

However, in that case, _DPL_ is what matches twice; DPLA never matches.

$ perl -ne'while(/(DPL|DPLA)/g){print " > $1 <\n"}' DPL > DPL < DPLA > DPL < DPLA DPL > DPL < > DPL < DPLA DPLA > DPL < > DPL <
If I had specified DPLA|DPL, then the match would have been as expected.
--
Mike

In reply to Re: use of 'or' in regex by RMGir
in thread use of 'or' in regex by Becky

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.