以下Perl语句在Unixish机器上的行为相同.他们在Windows上的表现有所不同吗?如果是的话,是不是因为魔术\n?
split m/\015\012/ms, $http_msg; split m/\015\012/s, $http_msg;
我从Win32烟雾测试仪上的一个CPAN模块上出现故障.它看起来像是一个\ r \n vs \n \n \n问题.我最近做的一个改变是将// m添加到我的正则表达式中.
对于这些正则表达式:
m/\015\012/ms m/\015\012/s
/ m和/ s都没有意义.
/ s:也.
匹配\n
.你的正则表达式不包含.
/米:品牌^
和$
旁边嵌入匹配\n
字符串英寸 你的正则表达式不包含^
nor $
或者他们的同义词.
如果你的输入句柄(套接字?)在文本模式下工作,那么可能的是,在Windows上删除了\r
(\015
)字符.
那么该怎么办?我建议将\015
字符设为可选字符,并将其拆分
/\015?\012/
不需要/ m,/ s甚至领先m//
.那些只是货物崇拜.