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 10kmy @files = File::Find::Rule->perl_file ->size('<10Ki') ->in('dir');# Locate all the modules that PAUSE will indexmy @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 complexFile::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
Theperl_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
Theperl_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
Theperl_installer
rule locates perl distribution installers. That is, it locatesMakefile.PL
andBuild.PL
files.
perl_script
Theperl_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
Theperl_file
rule locates all files containing Perl code.
This includes all the files matching the aboveperl_module
,perl_test
,perl_installer
andperl_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' );
Theno_index
method applies a set of rules as per the no_index section in aMETA.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.
Module Install Instructions
To install File::Find::Rule::Perl, copy and paste the appropriate command in to your terminal.
cpanm File::Find::Rule::Perl
perl -MCPAN -e shellinstall File::Find::Rule::Perl
For more information on module installation, please visitthe detailed CPAN module installation guide.