$test ="\\AFZ\\BJK \\\*\\AFZ...\*\\"; $span = 0; # Span is a span counter foreach( split(/(\\\*|\*\\)/,$test) ){ # Split on spans keeping the commenttags if($_ eq '\\*'){ # See if its a comment-start $span ++; } elsif($_ eq '*\\'){ # if it's a comment-end $span --; } elsif($span eq 0){ # Only if not in comment $_=~s/\\//igs; } $newtest.=$_; }