Since you're not actually using the set of values generated by each grep, but only want to test whether there is such a match, it might (depending on the sizes of the arrays and how often called) be useful to write your tests as a short-circuiting foreach:
Whether 'grep' or a short circuiting for is faster doesn't depend on how often you call it (although it matters whether it's significant). The size of the array plays a role, but what's more important is whether there is a match, and if there is, where the first match is. 'grep' wins if there's no match, or if the match is at the end. In the past, I've done some benchmarking, and found that the short circuit method was faster if the first match was to be found in about the first two-thirds of the list. I've also found noticable differences in the cut-off point when doing exact matching (==) or regex matching (=~) - differences I've not been able to explain.

But with different versions of Perl, you might get different results. My point is that deciding whether the replace a grep with a short-circuiting for loop is not an easy decision.

Abigail


In reply to Re: multiple greps at once-- possible? by Abigail-II
in thread multiple greps at once-- possible? by sulfericacid

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.