Of course, Re^3: One regex construct to handle multiple string types has already answered why you get the indicated match, but …. While it doesn't seem to be in the documentation at perldoc.perl.org, the Perl 5.10 documentation for perlre has a section called "Character Classes and other Special Escapes" that says:
\wMatch a "word" character (alphanumeric plus "_")