如何用|(管道)作为分隔符拆分字符串

use*_*858 1 perl

何时使用拆分| 作为分隔符,它不会给我预期的输出.有什么解决方案吗?

use warnings;
my $exclude_list = "1213:sutrust.com,sutrust1.com,sutrust3.com|1321:line.com";
my @exclude_client = split(/|/, $exclude_list);
print "Printing excluse  @exclude_client \n";
Run Code Online (Sandbox Code Playgroud)

产量

Printing excluse  1 2 1 3 : s u n t r u s t . c o m , s u t r u s t 1 . c o m , s u t r u s t 3 . c o m                                              | 1 3 2 1 : l i n e . c o m
Run Code Online (Sandbox Code Playgroud)

预期产量:

打印摘要1213:sutrust.com,sutrust1.com,sutrust3.com 1321:line.com

ike*_*ami 6

您没有使用该|字符作为分隔符,您使用|正则表达式作为分隔符.该模式总是匹配,因此结果是在每个字符之间分裂.逃离|.

split(/\|/, $exclude_list)
Run Code Online (Sandbox Code Playgroud)