>>>>> "CE" == Carl Eklof <[EMAIL PROTECTED]> writes:

  CE> My assumption was that the \b pattern in a regex would
  CE> always match the beginning and end of a string (as
  CE> documented in the perlre page). However on my build of
  CE> 5.8.7 this is not the case if the character being
  CE> matched at the beginning or the end is a
  CE> "meta-character" ie. quotemeta would escape it. Also
  CE> note that escaping the charcter doesn't seem to make a
  CE> difference.

from perlre:

        A word boundary ("\b") is a spot between two characters that has
        a "\w" on one side of it and a "\W" on the other side of it (in
        either order), counting the imaginary characters off the
        beginning and end of the string as matching a "\W". 

note that \b must have opposing character types on each side.

so with that in mind, let's look at your examples and both sides of \b

  CE> Here are some more examples, run in `perl -d -e 1`:
  CE>   DB<26> p '/' =~ m"\/\b";

/ is a \W and so is the end of regex so \b fails to match

  CE>   DB<27> p '/' =~ m"\/";  
  CE> 1

no \b to worry about

  CE>   DB<28> p 'a' =~ m"a\b"; 
  CE> 1

'a' on one side and end of regex which is \W so this matches

  CE>   DB<29> p 'a' =~ m"\ba\b";
  CE> 1

each /b is between a \w and outside the regex which is \W so it matches.

  CE>   DB<32> p '/' =~ m"\/\b";                            
                          
i am sure the rest of the examples will fall into the same reasons why
the above work as they do. i leave them as an exercise to the OP.

  CE> Maybe this is not a bug, and this is just another
  CE> nuance of regexs' that I have not learned, but it
  CE> looks very fishy.

no stinky fish here, just a subtle misunderstanding of the docs.

uri

-- 
Uri Guttman  ------  [EMAIL PROTECTED]  -------- http://www.stemsystems.com
--Perl Consulting, Stem Development, Systems Architecture, Design and Coding-
Search or Offer Perl Jobs  ----------------------------  http://jobs.perl.org
 
_______________________________________________
Boston-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to