Iterative, recursive file finder for Perl 6
Switch branches/tags
Nothing to show
Latest commit 41b8f58 Oct 26, 2016 @zoffixznet zoffixznet committed with Add mandatory "perl" META field
The `perl` field specifies the minimal perl version for which this distribution can be installed and is a mandatory field. The value of `"6.*"` indicates any version suffices.

It is recommended to use [Test::META]( module as an author test, to catch any issues with the META file.

This is a module for iterating over directory trees, and filtering out entries of interest. It is inspired by Perl 5's Path::Iterator::Rule, in particular it tries to iterate as lazy as possible and offers a fluent interface. For example, to lazily perl 6 scripts, while skipping over versioning files in a certain set of directories one could do:

for Path::Iterator.skip-vcs.ext(rx/ 'pl' 6? $ /).shebang(rx/ ^ '#!' .* 'perl6' /).in(@dirs) -> $file {

It also offers a functional interface, like this:

for find(@dirs, :ext(rx/ 'pl' 6? $ /), :shebang(rx/ ^ '#!' .* 'perl6' /), :skip-vcs) -> $file {