The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

File::Find::Match::Util - Some exportable utility functions for writing rulesets.

SYNOPSIS

   use File::Find::Match::Util qw( filename );

   $pred = filename('foobar.pl');

   $pred->('foobar.pl')         == 1;
   $pred->('baz/foobar.pl')     == 1;
   $pred->('baz/bar/foobar.pl') == 1;
   $pred->('bazquux.pl')        == 0;

   $pred = ext('pm');

   $pred->('foo.pm')  == 1;
   $pred->('foo.png') == 0;
   $pred->('foo.pmg') == 0;

   $pred = wildcard('*.pod');
   $pred->('foo.pod')     == 1;
   $pred->('foo/bar.pod') == 1;
   $pred->('foo/.pod')    == 1;
   $pred->('Spoon')       == 0;
   
     

DESCRIPTION

This provides a few handy functions which create predicates for File::Find::Match.

FUNCTIONS

The following functions are available for export.

filename($basename)

This function returns a subroutine reference, which takes one argument $file and returns true if File::Basename::basename($file) eq $basename, false otherwise. See File::Basename for details.

Essentially, filename('foobar') is equivalent to:

  sub { File::Basename::basename($_[0]) eq 'foobar' }

ext($extension)

This function returns a subroutine reference, which takes argument $file and returns true if it ends with ".$extension".

wildcard($pattern)

Perform shell-like wildcard matching. Currently only * is supported. * is exactly equivelent to regexp .+, which is possibly incorrect.

Patches are welcome.

EXPORTS

None by default.

"filename($basename)", "ext($extension)", "wildcard($pattern)".

BUGS

None known. Bug reports are welcome.

Please use the CPAN bug ticketing system at http://rt.cpan.org/. You can also mail bugs, fixes and enhancements to <bug-file-find-match at rt.cpan.org>.

CREDITS

Thanks to Andy Wardly for the name, and the Template Toolkit list for inspiration.

AUTHOR

Dylan William Hardison <dhardison@cpan.org>

http://dylan.hardison.net/

SEE ALSO

File::Find::Match, File::Find, perl(1).

COPYRIGHT and LICENSE

Copyright (C) 2004 Dylan William Hardison. All Rights Reserved.

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