In Reply To:
From what I understand the s is a swithch tag
Correct.
In Reply To:
then the / starts the expression
Pretty much true. The / could be seen as the field delimiter, so to speak, of the regular expression. It doesn't have to be "/", but it has to be the same character throughout.
In Reply To:
the < is the first part of the <b> you are trying to remove.
Correct, except that it's more accurate to look at it as the first item you are trying to *match* not remove -- you only remove it if the whole regex matches.
In Reply To:
The \is a comment out tag so perl will ignore the / that follows.
Sort of. It escapes the following / so that it can be interpreted simply as a / and not a special character such as that which divides the sections of the regex.
In Reply To:
The ? is in connection with the / it follows.
The ? means the / it follows is optional. This is telling the regex to effectively look <B> or </B>, as the only difference is the optional /.
In Reply To:
The rest of the expression removes the B> and replaces it with the stuff between // in this case nothing.
Correct.
Now, back to the question at hand... I've looked through the thread a few times, and I can't quite follow why you're doing it exactly the way you are with $url. Wouldn't
$rec{'Contact_Email'} =~ s/<\/?B>//g;
do what you need? If you do need to set the two equal, try using == instead of =
Dan