If I read your post correctly, you want to find strings that match without finding stuff where that string is a substring of a longer string. To do this, you need to know how the line will be delimited in the file. You seem to indicate that it will be quoted with double quotes. In which case, using  if ($row =~ /\"out.h\"$/ ) {...} should be working.

This appears to be what you are doing with

if ($row=~ /$m$names[$k]$m$/g))

if $m = '"' and $names$k = out.h. You don't need the /g option BTW. as there can only be one string at the end of the line ($) and you appear to capturing/printing the whole line anyway. You could also hardcode the "'s into the regex as shown above unless the delimiter can vary?

One thing that comes to mind is that if this is C or C++ source code and you are looking for lines that include header files or a specific header file, the #include "some.h"; has a semi:colon on the end and you would need to include this into your regex before the $.

If you are still having trouble, try including a little more of the code (showing where @names and $M are being setup along with a (small) sample datafile on which your code is failing and you'll get better answers.


Examine what is said, not who speaks.

The 7th Rule of perl club is -- pearl clubs are easily damaged. Use a diamond club instead.


In reply to Re: Exact string match by BrowserUk
in thread Exact string match by Anonymous Monk

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.