++ed by:
Adam Kennedy

NAME

File::Find::Rule::Perl - Common rules for searching for Perl things

SYNOPSIS

  use File::Find::Rule       ();
  use File::Find::Rule::Perl ();
  
  # Find all Perl files smaller than 10k
  my @files = File::Find::Rule->perl_file
                              ->size('<10Ki')
                              ->in('dir');
  
  # Locate all the modules that PAUSE will index
  my @mod = File::Find::Rule->no_index
                            ->perl_module
                            ->in('My-Distribution');

DESCRIPTION

I write a lot of things that muck with Perl files. And it always annoyed me that finding "perl files" requires a moderately complex File::Find::Rule pattern.

File::Find::Rule::Perl provides methods for finding various types Perl-related files, or replicating search queries run on a distribution in various parts of the CPAN ecosystem.

METHODS

perl_module

The perl_module rule locates perl modules. That is, files that are named *.pm.

This rule is equivalent to ->file->name( '*.pm' )> and is included primarily for completeness.

perl_test

The perl_test rule locates perl test scripts. That is, files that are named *.t.

This rule is equivalent to ->file->name( '*.t' )> and is included primarily for completeness.

perl_installer

The perl_installer rule locates perl distribution installers. That is, it locates Makefile.PL and Build.PL files.

perl_script

The perl_script rule locates perl scripts.

This is any file that ends in .pl, or any files without extensions that have a perl "hash-bang" line.

perl_file

The perl_file rule locates all files containing Perl code.

This includes all the files matching the above perl_module, perl_test, perl_installer and perl_script rules.

no_index

  # Provide the rules directly
  $rule->no_index(
      directory => [ 'inc', 't', 'examples' ],
      file      => [ 'Foo.pm', 'lib/Foo.pm' ],
  );
  
  # Provide a META.yml to use
  $rule->no_index( 'META.yml' );
  
  # Provide a dist root directory to look for a META.yml in
  $rule->no_index( 'My-Distribution' );
  
  # Automatically pick up a META.yml from the target directory
  $rule->no_index->in( 'My-Distribution' );

The no_index method applies a set of rules as per the no_index section in a META.yml file.

SUPPORT

Bugs should always be submitted via the CPAN bug tracker

http://rt.cpan.org/NoAuth/ReportBug.html?Queue=File-Find-Rule-Perl

For other issues, contact the maintainer

AUTHOR

Adam Kennedy <adamk@cpan.org>

SEE ALSO

http://ali.as/, File::Find::Rule, File::Find::Rule::PPI

COPYRIGHT

Copyright 2006 - 2012 Adam Kennedy.

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

The full text of the license can be found in the LICENSE file included with this module.




Hosting generously
sponsored by Bytemark