views:

218

answers:

2

I though this would be simple, but apparently I can't do:

script.pl *.ext

in the WinXP command processor.

Is there a built-in solution? (i.e. not a CPAN module?)

+4  A: 

Use the glob function.

...returns a (possibly empty) list of filename expansions on the value of EXPR such as the standard Unix shell /bin/csh would do...

spoulson
But *only* use it on Windows. If you use it on Unix, you risk globbing real file names; asterisks and question marks are valid characters in Unix file names.
Rob Kennedy
+4  A: 

File::DosGlob is a core module:

#!/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
Sinan Ünür
FWIW, File::Glob and built-in glob function are synonymous since Perl 5.6.
spoulson
I meant File::DosGlob ... sorry.
Sinan Ünür