Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: RegEx Matching, Loop Breaking...

by hdb (Monsignor)
on May 28, 2013 at 18:56 UTC ( #1035682=note: print w/replies, xml ) Need Help??

in reply to RegEx Matching, Loop Breaking...

Why do you need to "quotemeta" $xmlline? On the lefthand-side of the match this should not be needed.

Without the files it is difficult to develop more ideas, the logic seems ok. I would add a print statement just before the match to see the contents of $cleanedDomain and $cleanedXML.

I agree with comments above that you should revisit your open/close policy.

Replies are listed 'Best First'.
Re^2: RegEx Matching, Loop Breaking...
by rardoe (Initiate) on May 28, 2013 at 19:45 UTC
    Taking the quotemeta out fixed my issue. Thanks!

      The reason taking the quotemeta out fixed the problem is that a quotemeta-ed string that contained  \W characters will, in general (there may be some oddball corner cases), not regex-match with itself after the string has been double-quote-ishly interpolated into a regex. The reason is that after a string is quotemeta-ed, something like  '\-' in the quotemeta-ed string is literally a backslash-hyphen sequence of characters, but this sequence in a regex only matches a hyphen leaving the backslash in the quotemeta-ed string unmatched.

      >perl -wMstrict -le "my $s = 'a-b c*d'; my $qm_s = quotemeta $s; print qq{raw: '$s' quotemeta-ed: '$qm_s'}; ;; printf qq{%s equal \n}, $qm_s eq $qm_s ? '' : 'NOT '; printf qq{%s match \n}, $qm_s =~ /$qm_s/ ? '' : 'NO '; " raw: 'a-b c*d' quotemeta-ed: 'a\-b\ c\*d' equal NO match

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1035682]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (3)
As of 2018-08-17 23:11 GMT
Find Nodes?
    Voting Booth?
    Asked to put a square peg in a round hole, I would:

    Results (184 votes). Check out past polls.