File::Type(3pm)

File::Type3pm

Determine file type using magic

Usage

    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);

Overview

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

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?rev=1.1.1.1>.

Releases

12 releases since Debian 3.1 (Sarge); the text changed 6 times.

  1. 3.1–4.0
  2. 5.0–7
  3. 8
  4. 9–10
  5. 11
  6. 12–13
  7. Arch

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).

Author

Paul Mison <[email protected]>

License

Licensed under the same terms as Perl itself.

From perl-file-type 0.22-18 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.