My environment: Perl 5.24.1 on Windows 10.

The following SSCCE uses the "qr" operator to quote a string as a regular expression. The non-capturing part of the regex curiously has a "caret" inserted between the question mark and the colon. I've looked and can find no explanation or example of what the "caret" does in the regex produced by "qr". The "caret" does NOT (thankfully) anchor the regex at the beginning of the line, so what does it do?

#!/usr/bin/perl use strict; use warnings; my $text = 'abcd'; my $regex = qr/$text/; print "\n\$text = |$text| \$regex = |$regex|\n\n"; __END__ Output: $text = |abcd| $regex = |(?^:abcd)|

"It's not how hard you work, it's how much you get done."


In reply to Purpose of the "caret" character in "qr" regex output by roho

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.