File::DosGlob(3)
NNAAMMEE
File::DosGlob - DOS like globbing and then some
perlglob.bat - a more capable perlglob.exe replacement
SSYYNNOOPPSSIISS
require 5.004;
# override CORE::glob in current package
use File::DosGlob 'glob';
@perlfiles = glob "..\\pe?l/*.p?";
print <..\\pe?l/*.p?>;
# from the command line (overrides only in main::)
> perl -MFile::DosGlob=glob -e "print <../pe*/*p?>"
> perlglob ../pe*/*p?
DDEESSCCRRIIPPTTIIOONN
A module that implements DOS-like globbing with a few
enhancements. This file is also a portable replacement
for perlglob.exe. It is largely compatible with
perlglob.exe (the M$ setargv.obj version) in all but one
respect--it understands wildcards in directory components.
For example, C<<..\\l*b\\file/*glob.p?>> will work as
expected (in that it will find something like
'..\lib\File/DosGlob.pm' alright). Note that all path
components are case-insensitive, and that backslashes and
forward slashes are both accepted, and preserved. You may
have to double the backslashes if you are putting them in
literally, due to double-quotish parsing of the pattern by
perl.
When invoked as a program, it will print null-separated
filenames to standard output.
While one may replace perlglob.exe with this, usage by
overriding CORE::glob via importation should be much more
efficient, because it avoids launching a separate process,
and is therefore strongly recommended. Note that it is
currently possible to override builtins like glob() only
on a per-package basis, not "globally". Thus, every
namespace that wants to override glob() must explicitly
request the override. See the perlsub manpage.
Extending it to csh patterns is left as an exercise to the
reader.
EEXXPPOORRTTSS ((bbyy rreeqquueesstt oonnllyy))
glob()
BBUUGGSS
Should probably be built into the core, and needs to stop
pandering to DOS habits. Needs a dose of optimizium too.
AAUUTTHHOORR
Gurusamy Sarathy lt;gsar@umich.edu
HHIISSTTOORRYY
+o Scalar context, independent iterator context fixes
(GSAR 15-SEP-97)
+o A few dir-vs-file optimizations result in glob
importation being 10 times faster than using
perlglob.exe, and using perlglob.bat is only twice as
slow as perlglob.exe (GSAR 28-MAY-97)
+o Several cleanups prompted by lack of compatible
perlglob.exe under Borland (GSAR 27-MAY-97)
+o Initial version (GSAR 20-FEB-97)
SSEEEE AALLSSOO
perl