in reply to Debug and workaround help
When you try and match for the pattern, you are checking for zero or at least one occurance of any alphanum, so even if there is nothing after "<BusinessNames" the match still would not fail.
Second even if you tried to print out $str2Brepl the regex that you wanted to catch inside the (.*)would not be reflected as expected. You need to be assigning $str2Brepl as equal to $1 ...
$str2Brepl = $1;
gopher