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.