| File::MimeInfo::Magic - Determine file type with magic |
File::MimeInfo::Magic - Determine file type with magic
use File::MimeInfo::Magic;
my $mime_type = mimetype($file);
This module inherits from the File::MimeInfo manpage, it is transparant to its functions but adds support for the freedesktop magic file.
The method mimetype is exported by default. The methods magic,
inodetype, globs and describe can be exported on demand.
See also the File::MimeInfo manpage for methods that are inherited.
mimetype($file)$file, returns undef on failure.
This method bundles inodetype(), globs() and magic().
Magic rules with an priority of 80 and higher are checked before
globs() is called, all other magic rules afterwards.
If this doesn't work the file is read and the mime-type defaults
to 'text/plain' or to 'application/octet-stream' when the first ten chars
of the file match ascii control chars (white spaces excluded).
If the file doesn't exist or isn't readable undef is returned.
If $file is an object reference only magic and the default method
are used.
magic($file)$file based on the magic rules,
returns undef on failure.
$file can be an object reference, in that case it is supposed to have a
seek() and a read() method.
This allows you for example to determine the mimetype of data in memory
by using the IO::Scalar manpage.
rehash()If you want to by-pass the XDG basedir system you can specify your database
directories by setting @File::MimeInfo::DIRS. But normally it is better to
change the XDG basedir environment variables.
Please mail the author when you encounter any bugs.
Most likely to cause bugs is the fact that I partially used line based parsing while the source data is binary and can contain newlines on strange places. I tested with the 0.11 version of the database and found no problems, but I can think of configurations that can cause problems.
Jaap Karssenberg || Pardus [Larus] <pardus@cpan.org>
Copyright (c) 2003 Jaap G Karssenberg. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| File::MimeInfo::Magic - Determine file type with magic |