in reply to SOLVED - Can a better regex person than me tell me how to fix this?

The answer you've already received is a complete solution to your problem and this reply is rather belated. However:

I suspect it has to do with a '\' preceding a digit in the path.

Just be aware that the problem is more extensive than that. In the substring  '\smoker' the first pair of characters are interpreted, when interpolated into a regex, as the  \s (whitespace) character class. Likewise, the initial pair in  '\build' becomes the  \b "word" boundary assertion. I also see  \c and  \l lurking about. These are all perfectly valid regex metasequences (or whatever the proper term should be) and are silently accepted! And simply interpolating  $std_dir first into a  qr// would not have helped — unless some metaquoting mechanism was also used.