Mail::Cap(3)

NAME
Mail::Cap - Parse mailcap files

SYNOPSIS
    my $mc = new Mail::Cap;

    $desc = $mc->description('image/gif');

    print "GIF desc: $desc\n";

    $cmd = $mc->viewCmd('text/plain; charset=iso-8859-1', 'file.txt');

DESCRIPTION
Parse mailcap files as specified in RFC 1524 - A User Agent Configuration Mechanism For Multimedia Mail Format Information. In the description below $type refers to the MIME type as specified in the Content-Type header of mail or HTTP messages. Examples of types are:

  image/gif
  text/html
  text/plain; charset=iso-8859-1

METHODS

  new(OPTIONS)
  $mcap = new Mail::Cap;
  $mcap = new Mail::Cap "/mydir/mailcap";
  $mcap = new Mail::Cap filename => "/mydir/mailcap";
  $mcap = new Mail::Cap take => 'ALL';
  $mcap = Mail::Cap->new(take => 'ALL');

Create and initialize a new Mail::Cap object. If you give it an argument it will try to parse the specified file. Without any arguments it will search for the mailcap file using the standard mailcap path, or the MAILCAPS environment variable if it is defined.

There is currently two OPTION implemented:

* take => 'ALL'|'FIRST'
    Include all mailcap files you can find. By default, only the first file is parsed, however the RFC tells us to include ALL. To maintain backwards compatibility, the default only takes the FIRST.

* filename => FILENAME
    Add the specified file to the list to standard locations. This file is tried first.

  view($type, $file)

  compose($type, $file)

  edit($type, $file)

  print($type, $file)
These methods invoke a suitable progam presenting or manipulating the media object in the specified file. They all return 1 if a command was found, and 0 otherwise. You might test $? for the outcome of the command.

  viewCmd($type, $file)

  composeCmd($type, $file)

  editCmd($type, $file)

  printCmd($type, $file)
These methods return a string that is suitable for feeding to system() in order to invoke a suitable progam presenting or manipulating the media object in the specified file. It will return "undef" if no suitable specification exists.

  field($type, $field)
Returns the specified field for the type. Returns undef if no specification exsists.

  description($type)

  textualnewlines($type)

  x11_bitmap($type)

  nametemplate($type)
These methods return the corresponding mailcap field for the type. These methods should be more convenient to use than the field() method for the same fields.

COPYRIGHT
Copyright (c) 1995 Gisle Aas. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR
Gisle Aas <aas@oslonett.no>

Modified by Graham Barr <gbarr@pobox.com>

Maintained by Mark Overmeer <mailtools@overmeer.net>