| File-Find-Rule-Type documentation | Contained in the File-Find-Rule-Type distribution. |
File::Find::Rule::Type - rule to match on mime types
use File::Find::Rule::Type; my @images = find( file => type => 'image/*', in => '.' );
File::Find::Rule::Type allows you to build Find::File::Rule searches that are limited by MIME type, using the File::Type module. Text::Glob is used so that the pattern may be a globbing pattern.
Match only things with the mime types specified by @patterns. The specification can be a glob pattern, as provided by Text::Glob.
Paul Mison <cpan@husk.org>. Shamelessly based on Richard Clamp's File::Find::Rule::MMagic, itself an idea of Mark Fowler.
Copyright (C) 2003 Paul Mison. 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::Rule, Text::Glob, File::Type, Find::File::Rule::MMagic
| File-Find-Rule-Type documentation | Contained in the File-Find-Rule-Type distribution. |
package File::Find::Rule::Type; use strict; use File::Find::Rule; use base qw( File::Find::Rule ); use vars qw( $VERSION @EXPORT ); @EXPORT = @File::Find::Rule::EXPORT; $VERSION = '0.05'; use File::Type; use Text::Glob qw(glob_to_regex); sub File::Find::Rule::type { my $self = shift()->_force_object; my @patterns = map { ref $_ ? $_ : glob_to_regex $_ } @_; my $ft = new File::Type; $self->exec( sub { my $type = $ft->checktype_filename($_); for (@patterns) { return 1 if $type =~ m/$_/ } return; } ); } 1; __END__