为什么拆分不返回任何东西?

时间:2013-01-10 11:26:03

标签: perl split

我试图让Perl split工作超过2个小时。我没有看到错误。也许其他一些眼睛可以看看它并看到问题。我确信这是一个愚蠢的:

@versionsplit=split('.',"15.0.3");

print $versionsplit[0];
print $versionsplit[1];
print $versionsplit[2];

我只是得到一个空数组。知道为什么吗?

2 个答案:

答案 0 :(得分:14)

你需要:

@versionsplit=split(/\./,"15.0.3");

split的第一个参数是正则表达式,而不是字符串。 .是正则表达式符号,表示“匹配任何字符”。因此,输入字符串中的所有字符都被视为分隔符,而split在它们之间没有找到任何要返回的字符。

答案 1 :(得分:1)

.”表示任何字符。您需要将其转义为分割函数以识别为字段分隔符。 将您的行更改为

@versionsplit=split('\.',"15.0.3");