2013-10-01 231 views
1

我想分割一个字符串与"."但没有在数组中。文件名是"Head-First-Java-2nd-edition.pdf"分割后我想提取扩展名,但不知道它为什么给出空白数组。将字符串拆分为“。”

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

回答

7

由于您在通配符.上进行拆分,拆分会给出一个空列表。周期是一个元字符,如果你想拆就字面期间,你需要逃避它

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

另外,用于调用子程序的语法是NAME(LIST)。使用前缀&有一定的隐藏功能,因为它绕开了原型。阅读更多在perldoc perlsub

+0

谢谢一个lot.Working现在:) – Manish

+0

不客气。 – TLP

2

.正则表达式表示除\n以外的任何字符。拆就字面.,你需要逃避它:

split /\./, $filename;