用“。”分割字符串。

时间:2013-10-01 08:30:12

标签: perl split

我正在尝试使用"."拆分字符串,但在数组中没有任何内容。文件名为"Head-First-Java-2nd-edition.pdf"分割后我想提取扩展名,但不知道为什么它会给出空白数组。

my @fileInfo = split(/./, $filename);
 &logMsg("Array is: @fileInfo");

2 个答案:

答案 0 :(得分:7)

拆分正在给出一个空列表,因为您正在拆分通配符.。 Period是一个元字符,如果你想在文字句点上拆分,你需要将其转义

my @fileInfo = split(/\./, $filename);

此外,调用子例程的语法是NAME(LIST)。使用&前缀有一个隐藏的功能,因为它绕过了原型。阅读perldoc perlsub中的更多内容。

答案 1 :(得分:2)

正则表达式中的

.表示除\n之外的任何字符。要拆分文字.,您需要将其转义:

split /\./, $filename;