Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
File::Type::Builder(3)User Contributed Perl DocumentatioFile::Type::Builder(3)

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.32.0			  2004-05-06		File::Type::Builder(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | PRIVATE METHODS | TODO | BUGS | SEE ALSO | AUTHOR | COPYRIGHT | LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=File::Type::Builder&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help