File::MimeInfo::Rox - Open files by mimetype "Rox style"
use File::MimeInfo::Magic; use File::MimeInfo::Rox qw/:magic/; # open some file with the appropriate program mime_system($somefile); # more verbose version my $mt = mimetype($somefile) || die "Could not find mimetype for $somefile\n"; mime_system($somefile, $mt) || die "No program to open $somefile available\n";
This module tries to mimic the behaviour of the rox file browser
<http://rox.sf.net> when opening data files. It determines the
mime type and searches in rox's Choices
directories for a
program to handle that mimetype.
See the rox documentation for an extensive discussion of this mechanism.
The methods mime_exec
and mime_system
are
exported, if you use the export tag :magic
you get the same
methods but File::MimeInfo::Magic will be used for mimetype lookup.
The environment variable CHOICESPATH
is used when
searching for rox's config dirs. It defaults to
$ENV{HOME}/Choices:/usr/local/share/Choices:/usr/share/Choices
Try to open $file
with the appropriate program for files
of it's mimetype. You can use $mimetype
to force the
mimetype. Also if you already know the mimetype it saves a lot of time
to just tell it. If either the mimetype couldn't be determined or no
appropriate program could be found undef
is returned. If
the actual system fails an exception is raised. All remaining arguments
are passed on to the handler.
Like mime_system()
but uses exec instead of system, so
it never returns if successful.
Returns the list ($dir, $file)
for the suggested place
to write new script files (or symlinks) for mimetype
$mimetype
. The suggested dir doesn't need to exist.
Jaap Karssenberg <pardus@cpan.org> Maintained by Michiel Beijen <mb@x14.nl>
Copyright (c) 2003, 2012 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.
File::MimeInfo, File::MimeInfo::Magic, <http://rox.sourceforce.net>