我以为这将是简单的,但显然我不能这样做:如何在Windows上使用Perl处理命令行中的通配符?
script.pl *.ext
。
是否有内置解决方案? (即不是CPAN模块?)
我以为这将是简单的,但显然我不能这样做:如何在Windows上使用Perl处理命令行中的通配符?
script.pl *.ext
。
是否有内置解决方案? (即不是CPAN模块?)
File::DosGlob是核心模块:
#!/usr/bin/perl
use strict;
use warnings;
use File::DosGlob qw(glob);
print map { "$_\n"} map { glob } @ARGV;
__END__
C:\Temp> tgh *.pl ... tgh.pl tgm.pl thg.pl thk.pl tjl.pl tjm.pl tkj.pl tkl.pl
使用glob
函数。
...返回 文件名的扩展上 EXPR的值(可能为空)列表,如标准的Unix shell /斌/ CSH会做...
但只有* *使用它在Windows上。如果你在Unix上使用它,你就冒着真正的文件名冒险的风险。星号和问号在Unix文件名中是有效的字符。 – 2009-07-14 14:54:08
自从Perl 5.6起,FWIW,File :: Glob和内置的glob函数是同义词。 – spoulson 2009-07-14 14:53:17