我在 Perl 中有以下代码:
if (index ($retval, $_[2]) != -1) {
@fs = split ($_[2], $_[1]);
$_[2]
是分隔符变量,$_[1]
是分隔符可能存在的字符串。($_[0]
在别处使用)您可能已经猜到这段代码在这些变量名的子例程中。
无论如何,关于我的问题,当我的分隔符是无害的'a'
或者':'
代码像它应该的那样工作时。然而,当它是由 Perl 正则表达式解析的东西时,比如一个'\'
字符,那么它就不会像它应该的那样工作。这是有道理的,因为在 split 函数中 Perl 会看到如下内容:
split (/\/, $_[1]);
这对它根本没有意义,因为它会想要这个:
split (/\//, $_[1]);
因此,考虑到所有这些,我无法回答的问题是这样的:“我如何做到这一点,以便我输入的任何分隔符$_[2]
或所有 ASCII 字符都被视为应该是的字符,并且不被解释为别的东西?”
提前致谢,
罗伯特