{ $topic =~ s/([^/W])$_([$/W])/$1$2/g; }There are several errors here. You have /W where you seem to have meant \W. You have ^ inside a character class, where it means to negate the class, but you seem to have wanted it outside, so that it means beginning-of-string. You have $ inside the other character class, so you are interpolating $/ into the regex, and you seem to have wanted the $ in a place where it would mean end-of-string. I think you might have meant:
But the thing I suggested with \b is simpler anyway.s/(^|\W)$_(\W|$)/$1$2/g
--
Mark Dominus
Perl Paraphernalia
In reply to Re: Defenetly a complicated perl recipie with 2 arrays, 1 scaler and some special matching
by Dominus
in thread Defenetly a complicated perl recipie with 2 arrays, 1 scaler and some special matching
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |