I'd try something like HTML::LinkExtor to extract the links and then work on them using ordinary conditionals.

As far as matching strings that don't contain certain patterns, you have a number of options. Within a regex, (?!pattern) will match as long as pattern does not occur in the string. Or you could put the negation outside ($string !~ /pattern/).

For real robustness without tearing your hair out, though, I really do recommend moving your logic outside of the regular expression, and just do an explicit series of matches against the href contents.

HTH

Philosophy can be made out of anything. Or less -- Jerry A. Fodor


In reply to (arturo) Re: matching the non-presence of a string by arturo
in thread matching the non-presence of a string by Joey The Saint

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.