我以爲這將是簡單的,但顯然我不能這樣做:如何在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