In what way was the output different from your expected output? When I test the code, the output is exactly as you posted your expected output.

However, just because your snippet produced the expected output in the test case you provided doesn't mean the regexp is free of bugs. The '|' character has special meaning within regular expressions. It means "alternation" or "or". Only if you preceed it with a backslash, as in '\|' will it be interpreted as a plain old character within a regular expression:

$line =~ /^\|\s$str\s/

...would probably be closer to your goal.

You'll be much more productive with regular expressions if you take an hour to read through perlretut and perlre. There's a mountain of information to learn, but those documents provide a great start.


Dave


In reply to Re: Regular Expresson How to Match by davido
in thread Regular Expresson How to Match by qsl

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.