当我使用以|
作为分隔符的split时,它没有给予预期的输出。有什么解决办法吗?
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";
输出:
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
预期输出:
Printing excluse 1213:sutrust.com,sutrust1.com,sutrust3.com 1321:line.com
3条答案
按热度按时间q7solyqu1#
您没有使用
|
字符作为分隔符,而是使用了|
正则表达式作为分隔符。该模式始终匹配,因此结果是在每个字符之间拆分。退出|
。jm2pwxwz2#
管道字符是split的特殊字符,需要转义。
z9ju0rcb3#
您需要使用反斜杠转义管道:
\|
:输出: