我正在尝试使用"."
拆分字符串,但在数组中没有任何内容。文件名为"Head-First-Java-2nd-edition.pdf"
分割后我想提取扩展名,但不知道为什么它会给出空白数组。
my @fileInfo = split(/./, $filename);
&logMsg("Array is: @fileInfo");
答案 0 :(得分:7)
拆分正在给出一个空列表,因为您正在拆分通配符.
。 Period是一个元字符,如果你想在文字句点上拆分,你需要将其转义
my @fileInfo = split(/\./, $filename);
此外,调用子例程的语法是NAME(LIST)
。使用&
前缀有一个隐藏的功能,因为它绕过了原型。阅读perldoc perlsub中的更多内容。
答案 1 :(得分:2)
.
表示除\n
之外的任何字符。要拆分文字.
,您需要将其转义:
split /\./, $filename;