You could try something like the following. Its heavily commented as you say you just started out in Perl.

use strict; # Put some phrases in an array for us to test my @phrases = (" APIblahblah", "blah APINblah", "blahUWI ."); # Match on each phrase my $phrase; foreach $phrase (@phrases) { # Do a match - note the brackets around the entire expression. # Brackets are used as a memory # See a Regular Exp guide for more info if ($phrase =~ m/(\bAPI|APIN|UWI\s*\.)/) { # If it matched we are here... $1 prints the memory of what # matched inside the brackets. Similarly if there was a # 2nd set of parentheses $2 would contain their match etc. print "Phrase: $phrase, matched on: $1\n"; # Rather than printing it here you could call your sub... # e.g. # somesub($1); } }

Do note that the phrase "blah APINblah" will match on API not APIN. However the phrase "blahAPINblah" will only match on APIN. This is due to the word boundary. You might want to take this into account in your regex?

Good luck, Arun


In reply to Re: Quick question on matching by arunhorne
in thread Quick question on matching by licking9Volts

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.