File::Find::Rule - Alternative interface to File::Find


  use File::Find::Rule;
  # find all the subdirectories of a given directory
  my @subdirs = File::Find::Rule->directory->in( $directory );

  # find all the .pm files in @INC
  my @files = File::Find::Rule->file()
                              ->name( '*.pm' )
                              ->in( @INC );

  # as above, but without method chaining
  my $rule =  File::Find::Rule->new;
  $rule->name( '*.pm' );
  my @files = $rule->in( @INC );


 perl Makefile.PL
 make test

and if all goes well

 make install


What changed over the last 3 revisions

0.32 Saturday 28th November, 2009
        Rework the referencing of anyonymous subroutines internally,
        closes RT#46599 (Reported by Kevin Ryde)
0.31 Friday 27th November 2009
        Move to Makefile.PL
        use Test::Differences in the testsuite if available.
        Rearrange the testsuite so you don't keep tripping over yourself.
        Dropped 5.00503 backwards compatibility, allows some 5.6isms and
        dropping the shonky Cwd code.
        All taint 'bugs' are now the same as the behaviour of File::Find,
        documentation has been added to describe this.
0.30 Wednesday 1st June, 2006
        Made './//././././///.//././/////./blah' be treated the same 
        as './blah' (it gets turned into 'blah')


Richard Clamp <> with input gained from this use.perl discussion:

Additional proofreading and input provided by Kake, Greg McCarroll, and Andy Lester


Copyright (C) 2002, 2003, 2004, 2006, 2009 Richard Clamp. All Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


File::Find, Text::Glob, Number::Compare, find(1)

If you want to know about the procedural interface, see File::Find::Rule::Procedural, and if you have an idea for a neat extension File::Find::Rule::Extending