in reply to File open

Traditionally, "the shell" does all the wildcard expansion, except on Windows. If you want to find files based on some wildcard expression, you can use the built-in glob function, the core module File::Find or File::Find::Rule if you want to write the search criteria in Perl.

Using glob() is the easiest way if you just want to search one directory for files specified by extension:

use strict; use File::Glob qw(bsd_glob); # switch on sane whitespace semantics for + glob my @files = glob('*.xml'); print "I found the following files:\n"; print "$_\n" for @files;

If you want to use File::Find, because you want to search a whole directory tree, it's also easy:

use strict; use File::Find; my @files; find(sub { push @files, $File::Find::name }, '.'); print "I found the following files:\n"; print "$_\n" for @files;