Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

file::type::builder(3pm) [debian man page]

File::Type::Builder(3pm)				User Contributed Perl Documentation				  File::Type::Builder(3pm)

NAME
File::Type::Builder - parse mime-magic and generate code SYNOPSIS
my $build = File::Type::Builder->new(); while (<magic>) { chomp; my $parsed = $build->parse_magic($_); my $code = $build->string_start($parsed); (or string_offset or beshort) } DESCRIPTION
Reads in the mime-magic file format and translates it to code. (This documentation would be longer if I really expected anyone other than me to run the code.) METHODS
new Creates a new File::Type::Builder object. parse_magic Pulls apart a line of a mime-magic file using a string of regular expressions. An example mime-magic file can be found in cleancode CVS at <http://cleancode.org/cgi-bin/viewcvs.cgi/email/mime-magic.mime?rev=1.1.1.1> string Builds code to match magic that's of type string. Has to do some cleverness to make the regular expression work properly. be Builds code to match 'beshort' and 'belong' magic (eg audio/mpeg, image/jpeg). PRIVATE METHODS
_substr_matching Sometimes the data is smaller than the offset we're looking for in the file. If this is the case, then the file is obviously not of that type, and furthermore we should avoid issuing a couple of warnings that Perl would otherwise emit. This subroutine generates this code. _get_escapes Returns a reference to a hash defining characters that should not be escaped. TODO
* Add handlers for other magic types (bedate, byte, etc) * Make verbosity/logging nicer. * Find more edge cases. * Remove redundant 'if (length $data > 0)' check. Longer term: * Fix for multiple magic format types? BUGS
Incomplete. Some known issues with odd entries in mime-magic. Skips some mime-magic lines. SEE ALSO
File::Type, which is partially generated by this module. AUTHOR
Paul Mison <pmison@fotango.com> COPYRIGHT
Copyright 2003 Fotango Ltd. LICENSE
Licensed under the same terms as Perl itself. perl v5.8.8 2004-10-08 File::Type::Builder(3pm)

Check Out this Related Man Page

File::Type(3)						User Contributed Perl Documentation					     File::Type(3)

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
File::MMagic and File::MimeInfo perform the same job, but have a number of problems that led to the creation of this module. File::MMagic inlines a copy of the magic database, and uses a DATA filehandle, which causes problems when running under mod_perl. File::MimeInfo 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 seperate 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. File::Type::Builder, 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?rev=1.1.1.1 <http://cleancode.org/cgi-bin/viewcvs.cgi/email/mime- magic.mime?rev=1.1.1.1>. AUTHOR
Paul Mison <pmison@fotango.com> COPYRIGHT
Copyright 2003-2004 Fotango Ltd. LICENSE
Licensed under the same terms as Perl itself. perl v5.12.1 2004-05-06 File::Type(3)
Man Page