我正在编写一个脚本,它将遍历一系列数字,构建一个 glob 模式,并测试一个文件是否存在于基于 glob 的目录中。
这些图像是 Nascar 车号图像,并遵循以下模式:
1_EARNHARDTGANASSI_256.TGA
2_PENSKERACING_256.TGA
这是我正在使用的脚本片段:
foreach $currCarNum (0..101) {
if (glob("//headshot01/CARS/${currCarNum}_*_256.TGA")) {
print("Car image $currCarNum exists\n");
} else {
print("Car image $currCarNum doesn't exist\n");
}
}
我遇到的问题是目录中存在的图像,并且应该与文件 glob 模式不匹配。
例如,具有以下名称的文件返回不存在:
2_PENSKERACING_256.TGA
鉴于以下内容作为现有返回:
1_EARNHARDTGANASSI_256.TGA
如果我在 DOS 或 Cygwin 中使用相同的文件 glob 模式,则两个文件都会正确列出。
文件 glob 模式在 Perl 中的解释是否不同?有什么我想念的吗?