【发布时间】:2020-11-09 08:32:15
【问题描述】:
我正在尝试在 Perl 中循环遍历我的目录中的一些文件。假设我的当前目录包含:song0.txt、song1.txt、song2.txt、song3.txt、song4.txt。
我提供“song?.txt”作为我的程序的参数。
当我这样做时:
foreach $file (glob "$ARGV[0]") {
printf "$file\n";
}
打印“song0.txt”后停止。
但是,如果我将“$ARGV[0]”替换为“song?.txt”,它会按预期打印出所有 5 个。为什么 Perl glob 不能处理变量,我可以做些什么来解决这个问题?
【问题讨论】:
-
用双引号提供参数 -
perl script.pl "song?.txt".
标签: perl command-line-arguments glob