【发布时间】:2012-08-24 19:50:11
【问题描述】:
Perl 文件名通配符命令有两种形式:<> 和 glob。但是我发现这两种形式的效果是有区别的:
我想检索所有具有相似名称的文件,使用以下代码:
my @files = <"rawdata/*_${term}_*.csv">; #(1)
还有另一种格式:
my @files = glob "rawdata/*_${term}_*.csv"; #(2)
我希望使用这两个代码得到相同的结果。但是有区别:如果$term是一个没有空格的字符串(或者说是一个单词),那么(2)可以正常工作,但是(1)不行;如果$term 是一个带空格的字符串(或者说是几个单词),那么(1)可以正常工作,(2)不能正常工作。
这两种表达方式有什么区别吗? 非常感谢。
【问题讨论】:
-
好问题,上面的问题解释了区别(插值)
-
@DVK 但它似乎没有回答我关于空格引起的问题的问题。