This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add :bsd_glob export tag to File::Glob [perl #96116]
authorFather Chrysostomos <sprout@cpan.org>
Sat, 29 Oct 2011 07:02:01 +0000 (00:02 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Sat, 29 Oct 2011 07:17:44 +0000 (00:17 -0700)
commitf4cbf9907d63df65667e01b565f10d18b7166dce
tree1d25f4cd4b69cd6f2bee26d058347efe37dbc00b
parent88b04955bf917680915463d4ea09b03db53330dc
Add :bsd_glob export tag to File::Glob [perl #96116]

This is intended to replace the :glob export tag.  The problem with
:glob is that the glob export (File::Glob::glob) does not support ite-
ration, but tries to return a whole list each time; hence it causes
while(<*>) to loop endlessly, as it is repeatedly returning the last
file (scalar context).

Since there may be code relying on that, we cannot easily change it,
but we can supplant it.

Since bsd_glob is already documented as supporting spaces in patterns
(that match spaces in file names; i.e., that are not separators), this
commit adds a :bsd_glob export tag that only differs from :glob in
that the exported glob() function iterates in scalar context.

An imminent commit will add documentation.
ext/File-Glob/Glob.pm
ext/File-Glob/Glob.xs
ext/File-Glob/t/basic.t