Perl Diver 2.33
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

File::Type

Name File::Type
Version 0.22
Located at /usr/share/perl5
File /usr/share/perl5/File/Type.pm
Is Core No
Search CPAN for this module File::Type
Documentation File::Type
Module Details File::Type

NAME

File::Type - determine file type using magic


SYNOPSIS

    my $ft = File::Type->new();

    # read in data from file to $data, then
    my $type_from_data = $ft->checktype_contents($data);

    # alternatively, check file from disk
    my $type_from_file = $ft->checktype_filename($file);
    # convenient method for checking either a file or data
    my $type_1 = $ft->mime_type($file);
    my $type_2 = $ft->mime_type($data);


DESCRIPTION

File::Type uses magic numbers (typically at the start of a file) to determine the MIME type of that file.

File::Type can use either a filename, or file contents, to determine the type of a file.


METHODS

new

Returns a new File::Type object.

mime_type($argument)

Takes either data or a filename, determines what it is, and passes the argument through to the relevant method below. If the argument is a directory, returns undef.

checktype_filename($filename)

Opens $filename (if possible; if not, returns undef) and returns the MIME type of the file.

checktype_contents($data)

Matches $data against the magic database criteria and returns the MIME type of the file.


TODO

* Add additional magic match criteria


BUGS

None known.

NOTES

Some magic definitions in the mime-magic file used in the creation of this module vary from those in other apps (eg image/x-png not image/png).


SEE ALSO

the File::MMagic manpage and the File::MimeInfo manpage perform the same job, but have a number of problems that led to the creation of this module.

the File::MMagic manpage inlines a copy of the magic database, and uses a DATA filehandle, which causes problems when running under mod_perl.

the File::MimeInfo manpage uses an external magic file, and relies on file extensions rather than magic to determine the mime type.

As a result, File::Type uses a separate module and script to create the code at the core of this module, which means that there is no need to include a magic database at all, and that it is safe to run under mod_perl.

the File::Type::Builder manpage, which generates the code at the heart of this module.


ACKNOWLEDGMENTS

File::Type is built from a mime-magic file from cleancode.org. The original can be found at http://cleancode.org/cgi-bin/viewcvs.cgi/email/mime-magic.mime.


AUTHOR

Paul Mison <pmison@fotango.com>


COPYRIGHT

Copyright 2003-2004 Fotango Ltd.


LICENSE

Licensed under the same terms as Perl itself.

Perl Diver brought to you by ScriptSolutions.com © 1997- 2026