perl分裂行为的差异?
我在Windows XP和Windows 7上安装了活动的perl相同版本。
我发现在Windows XP和ubuntu split上将返回空数组元素,但在Windows 7上它不会。例如:
my @array;
my $item = "test,,,,";
@array = split(/,/,$item);
print $#array;
将打印4并且数组将有3个空元素,但在Windows 7上它总是打印0并且只有1个元素。有谁知道为什么会发生这种情况以及我应该使用什么来使perl脚本更具可移植性?
没有找到相关结果
已邀请:
1 个回复
绊伦欧
的文档,Windows 7版本是正确的: 默认情况下,空的前导字段为 保留的,空的尾随的 删除。 (如果所有字段都是空的, 他们被认为是落后的。) 所以如果你拆分,例如
那么你的例子应该打印
。 (在Ubuntu 10.04上经过5.10.1测试。)