# SYNOPSIS
use File::ArchivableFormats;
my $archive = File::ArchivableFormats->new();
open my $fh, '<', 'path/to/file';
my $result_fh = $archive->identify_from_fh($fh);
my $result_path = $archive->identify_from_path('/path/to/file');
# DESCRIPTION
This module identifies filetypes and tells you whether they are considered
archivable by various institutes. This is done via a plugin mechanism.
# ATTRIBUTES
# METHODS
## parse\_extension
Parses the filename and returns the extension. Uses
["fileparse" in File::Basename](
https://metacpan.org/pod/File%3A%3ABasename#fileparse)
## identify\_from\_fh
Identify the file from a file handle. Please note that this does not
work with a [File::Temp](
https://metacpan.org/pod/File%3A%3ATemp) filehandle.
Returns a data structure like this:
{
# DANS is the Prefered format list
'DANS' => {
# Types tell you something about why something is on the
# preferred format list
'types' => [
'Plain text (Unicode)',
'Plain text (Non-Unicode)',
'Statistical data (data (.csv) + setup)',
'Raspter GIS (ASCII GRID)',
'Raspter GIS (ASCII GRID)'
],
# The extensions by which belongs to the mime type/file
'allowed_extensions' => ['.asc', '.txt'],
# Boolean which tells you if the file is archivable and
# therfore preferred.
'archivable' => 1
},
'mime_type' => 'text/plain'
};
## identify\_from\_path
Identify the file from path/filename.
## identify\_from\_mimetype
Identify based on the mimetype
## installed\_drivers
Returns an array with all the installed plugins.
# SEE ALSO
- [File::MimeInfo::Magic](
https://metacpan.org/pod/File%3A%3AMimeInfo%3A%3AMagic)
- IANA
[
http://www.iana.org/assignments/media-types/media-types.xhtml](
http://www.iana.org/assignments/media-types/media-types.xhtml)
[
http://www.iana.org/assignments/media-types/application.csv](
http://www.iana.org/assignments/media-types/application.csv)