in reply to Re^4: Normal regexes stop working
in thread Normal regexes stop working

So whats $q? $page_title? This is the important part, the bytes that go into these values, its probably invisible whitespace or nonbreaking whitespace that is tripping you up (they just look like whitspace, but are different bytes)

Replies are listed 'Best First'.
Re^6: Normal regexes stop working
by yegg (Acolyte) on Oct 24, 2010 at 20:47 UTC
    On another suggestion in this thread, I'll have Data::Dumper print them out with $Data::Dumper::Useqq=1. I'm highly confident there is no extra whitespace, but we'll find out in a moment.

    The variables come from a static page url, e.g. http://domain/path. $q is path, unescaped. And $page_title comes from a database of paths.

    As you can see from that code, in that latest example, they both had values of 'Polygram compilation albums'. I also did an eq comparison, which came out to 1. I suppose the whitespace wasn't clear in my printout because the tabs didn't copy exactly.

    Edit: here was the printout from the first failure after making that change:

    warn qq(\nDILBERT 1a: "), Dumper($q_meta), " ", Dumper($page_title) if + $is_dilbert; DILBERT 1a: "$VAR1 = "Haji\\ Ayub\\ Afridi"; $VAR1 = "Haji Ayub Afridi";"
      Thx--I haven't figured out the error yet, but I did make some progress.

      I found that if $q was set to $VAR1 = "\n\302\240"; the time before then it doesn't work thereafter.