man File::MimeInfo::Magic () - Determine file type with magic

NAME

File::MimeInfo::Magic - Determine file type with magic

SYNOPSIS

        use File::MimeInfo::Magic;
        my $mime_type = mimetype($file);

DESCRIPTION

This module inherits from File::MimeInfo, it is transparant to its functions but adds support for the freedesktop magic file.

EXPORT

The method CWmimetype is exported by default. The methods CWmagic, CWinodetype, CWglobs and CWdescribe can be exported on demand.

METHODS

See also File::MimeInfo for methods that are inherited. Returns a mime-type string for CW$file, returns undef on failure. This method bundles CWinodetype(), CWglobs() and CWmagic(). Magic rules with an priority of 80 and higher are checked before CWglobs() 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 CWundef is returned. If CW$file is an object reference only CWmagic and the default method are used. Returns a mime-type string for CW$file based on the magic rules, returns undef on failure. CW$file can be an object reference, in that case it is supposed to have a CWseek() and a CWread() method. This allows you for example to determine the mimetype of data in memory by using IO::Scalar. Rehash the data files. Glob and magic information is preparsed when this method is called. If you want to by-pass the XDG basedir system you can specify your database directories by setting CW@File::MimeInfo::DIRS. But normally it is better to change the XDG basedir environment variables.

SEE ALSO

File::MimeInfo

BUGS

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.

AUTHOR

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.