G'day clamport,
Welcome to the Monastery.
"Does anyone have any recommendations?"
If $SEP_CHAR really is a character, then transliteration is possibly your best bet.
$ perl -E 'say "a+b+c" =~ y/+/_/r' a_b_c
If $SEP_CHAR isn't a character, I'd suggest giving it a more meaningful, and less confusing, name; perhaps $SEP_STR for a separator string. In this case, substitution (as already suggested) would be a better option.
$ perl -E 'my ($x, $y, $z) = qw{a+b+c + __}; say $x =~ s/\Q$y/$z/gr' a__b__c
If you're using '\Q' to escape characters to the end of the string, the '\E' is superfluous. You really only need this if you want to escape part of a string.
$ perl -E 'my ($x, $y) = qw{++ --}; say for "\Q$x\E$y", "$x\Q$y", "\Q$ +x$y"' \+\+-- ++\-\- \+\+\-\-
See also:
— Ken
In reply to Re: Splitting string based on potentially escaped character
by kcott
in thread Splitting string based on potentially escaped character
by clamport
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |