不能在 Perl 上用括号分割字符串

stc*_*vrw 1 regex string perl split parentheses

例如下面的代码:

$test_str = 'foo(bar';
@arr = split('(', $test_str);
Run Code Online (Sandbox Code Playgroud)

导致 500 错误

为什么?

sim*_*que 7

正如ikegami 所说split期望一个模式作为它的第一个参数。一个字符串只会被转换成一个模式。因为左括号(有特殊含义,所以会报错。你需要逃避它。

my @arr = split /\(/, $str;
Run Code Online (Sandbox Code Playgroud)