__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
=head1 NAME

File::MimeInfo::Cookbook - various code snippets

=head1 DESCRIPTION

Some code snippets for non-basic uses of the L<File::MimeInfo>
module:

=over

=item B<Matching an extension>

A file does not have to actually exist in order to get a
mimetype for it. This means that the following will work:

  my $extension = '*.txt';
  my $mimetype = mimetype( $extension );

=item B<Mimetyping an scalar>

If you want to find the mimetype of a scalar value you need magic
mimetyping; after all a scalar doesn't have a filename or inode.
What you need to do is to use IO::Scalar :

  use File::MimeInfo::Magic;
  use IO::Scalar;

  my $io_scalar = new IO::Scalar \$data;
  my $mimetype = mimetype( $io_scalar );

In fact most other C<IO::> will work as long as they support the C<seek()>
and C<read()> methods. Of course if you want really obscure things to
happen you can always write your own IO object and feed it in there.

Be aware that when using a filehandle like this you need to set the C<:utf8>
binmode yourself if appropriate.

=item B<Mimetyping a filehandle>

Regrettably for non-seekable filehandles like STDIN simply using an C<IO::>
object will not work. You will need to buffer enough of the data for a proper
mimetyping. For example you could mimetype data from STDIN like this:

  use File::MimeInfo::Magic;
  use IO::Scalar;

  my $data;
  read(STDIN, $data, $File::MimeInfo::Magic::max_buffer);
  my $io_scalar = new IO::Scalar \$data;
  my $mimetype = mimetype( $io_scalar );

Be aware that when using a filehandle like this you need to set the C<:utf8>
binmode yourself if appropriate.

=item B<Creating a new filename>

Say you have a temporary file that you want to save with a more
proper filename.

  use File::MimeInfo::Magic qw#mimetype extensions#;
  use File::Copy;

  my $tmpfile = '/tmp/foo';
  my $mimetype = mimetype($tmpfile);
  my $extension = extensions($mimetype);
  my $newfile = 'untitled1';
  $newfile .= '.'.$extension if length $extension;
  move($tmpfile, $newfile);

=item B<Force the use of a certain database directory>

Normally you just need to add the dir where your mime database lives
to either the XDG_DATA_HOME or XDG_DATA_DIRS environment variables
for it to be found. But in some rare cases you may want to by-pass
this system all together. Try one of the following:

  @File::MimeInfo::DIRS = ('/home/me/share/mime');
  eval 'use File::MimeInfo';
  die if $@;

or:

  use File::MimeInfo;
  @File::MimeInfo::DIRS = ('/home/me/share/mime');
  File::MimeInfo->rehash();

This can also be used for switching between databases at run time
while leaving other XDG configuration stuff alone.

=back

=head1 AUTHOR

Jaap Karssenberg E<lt>[email protected]<gt>
Maintained by Michiel Beijen E<lt>[email protected]<gt>

=head1 COPYRIGHT

Copyright (c) 2005, 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.

=head1 SEE ALSO

L<File::MimeInfo>

=cut

Filemanager

Name Type Size Permission Actions
Applications.pm File 9.3 KB 0644
Cookbook.pod File 2.93 KB 0644
Magic.pm File 9.65 KB 0644
Rox.pm File 4.33 KB 0644
Filemanager