.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Mail::Cap 3" .TH Mail::Cap 3 2023-07-25 "perl v5.38.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Mail::Cap \- understand mailcap files .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& my $mc = Mail::Cap\->new; \& \& my $desc = $mc\->description(\*(Aqimage/gif\*(Aq); \& print "GIF desc: $desc\en"; \& \& my $cmd = $mc\->viewCmd(\*(Aqtext/plain; charset=iso\-8859\-1\*(Aq, \*(Aqfile.txt\*(Aq); .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" Parse mailcap files as specified in "RFC 1524 \-\-A User Agent Configuration Mechanism For Multimedia Mail Format Information>. In the description below \f(CW$type\fR refers to the MIME type as specified in the \f(CW\*(C`Content\-Type\*(C'\fR header of mail or HTTP messages. Examples of types are: .PP .Vb 3 \& image/gif \& text/html \& text/plain; charset=iso\-8859\-1 .Ve .PP You could also take a look at the File::MimeInfo distribution, which are accessing tables which are used by many applications on a system, and therefore have succeeded the mail-cap specifications on modern (UNIX) systems. .SH METHODS .IX Header "METHODS" .SS Constructors .IX Subsection "Constructors" .IP Mail::Cap\->\fBnew\fR(%options) 4 .IX Item "Mail::Cap->new(%options)" 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. .Sp .Vb 3 \& \-Option \-\-Default \& filename undef \& take \*(AqFIRST\*(Aq .Ve .RS 4 .IP "filename => FILENAME" 2 .IX Item "filename => FILENAME" Add the specified file to the list to standard locations. This file is tried first. .IP "take => 'ALL'|'FIRST'" 2 .IX Item "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. .RE .RS 4 .Sp example: .Sp .Vb 5 \& $mcap = new Mail::Cap; \& $mcap = new Mail::Cap "/mydir/mailcap"; \& $mcap = new Mail::Cap filename => "/mydir/mailcap"; \& $mcap = new Mail::Cap take => \*(AqALL\*(Aq; \& $mcap = Mail::Cap\->new(take => \*(AqALL\*(Aq); .Ve .RE .SS "Run commands" .IX Subsection "Run commands" These methods invoke a suitable program presenting or manipulating the media object in the specified file. They all return \f(CW1\fR if a command was found, and \f(CW0\fR otherwise. You might test \f(CW$?\fR for the outcome of the command. .ie n .IP "$obj\->\fBcompose\fR($type, $file)" 4 .el .IP "\f(CW$obj\fR\->\fBcompose\fR($type, \f(CW$file\fR)" 4 .IX Item "$obj->compose($type, $file)" .PD 0 .ie n .IP "$obj\->\fBedit\fR($type, $file)" 4 .el .IP "\f(CW$obj\fR\->\fBedit\fR($type, \f(CW$file\fR)" 4 .IX Item "$obj->edit($type, $file)" .ie n .IP "$obj\->\fBprint\fR($type, $file)" 4 .el .IP "\f(CW$obj\fR\->\fBprint\fR($type, \f(CW$file\fR)" 4 .IX Item "$obj->print($type, $file)" .ie n .IP "$obj\->\fBview\fR($type, $file)" 4 .el .IP "\f(CW$obj\fR\->\fBview\fR($type, \f(CW$file\fR)" 4 .IX Item "$obj->view($type, $file)" .PD .SS "Command creator" .IX Subsection "Command creator" These methods return a string that is suitable for feeding to \fBsystem()\fR in order to invoke a suitable program presenting or manipulating the media object in the specified file. It will return \f(CW\*(C`undef\*(C'\fR if no suitable specification exists. .ie n .IP "$obj\->\fBcomposeCmd\fR($type, $file)" 4 .el .IP "\f(CW$obj\fR\->\fBcomposeCmd\fR($type, \f(CW$file\fR)" 4 .IX Item "$obj->composeCmd($type, $file)" .PD 0 .ie n .IP "$obj\->\fBeditCmd\fR($type, $file)" 4 .el .IP "\f(CW$obj\fR\->\fBeditCmd\fR($type, \f(CW$file\fR)" 4 .IX Item "$obj->editCmd($type, $file)" .ie n .IP "$obj\->\fBprintCmd\fR($type, $file)" 4 .el .IP "\f(CW$obj\fR\->\fBprintCmd\fR($type, \f(CW$file\fR)" 4 .IX Item "$obj->printCmd($type, $file)" .ie n .IP "$obj\->\fBviewCmd\fR($type, $file)" 4 .el .IP "\f(CW$obj\fR\->\fBviewCmd\fR($type, \f(CW$file\fR)" 4 .IX Item "$obj->viewCmd($type, $file)" .PD .SS "Look-up definitions" .IX Subsection "Look-up definitions" Methods return the corresponding mailcap field for the type. .ie n .IP $obj\->\fBdescription\fR($type) 4 .el .IP \f(CW$obj\fR\->\fBdescription\fR($type) 4 .IX Item "$obj->description($type)" .PD 0 .ie n .IP "$obj\->\fBfield\fR($type, $field)" 4 .el .IP "\f(CW$obj\fR\->\fBfield\fR($type, \f(CW$field\fR)" 4 .IX Item "$obj->field($type, $field)" .PD Returns the specified field for the type. Returns undef if no specification exists. .ie n .IP $obj\->\fBnametemplate\fR($type) 4 .el .IP \f(CW$obj\fR\->\fBnametemplate\fR($type) 4 .IX Item "$obj->nametemplate($type)" .PD 0 .ie n .IP $obj\->\fBtextualnewlines\fR($type) 4 .el .IP \f(CW$obj\fR\->\fBtextualnewlines\fR($type) 4 .IX Item "$obj->textualnewlines($type)" .ie n .IP $obj\->\fBx11_bitmap\fR($type) 4 .el .IP \f(CW$obj\fR\->\fBx11_bitmap\fR($type) 4 .IX Item "$obj->x11_bitmap($type)" .PD .SH "SEE ALSO" .IX Header "SEE ALSO" This module is part of the MailTools distribution, \&\fIhttp://perl.overmeer.net/mailtools/\fR. .SH AUTHORS .IX Header "AUTHORS" The MailTools bundle was developed by Graham Barr. Later, Mark Overmeer took over maintenance without commitment to further development. .PP Mail::Cap by Gisle Aas . Mail::Field::AddrList by Peter Orbaek . Mail::Mailer and Mail::Send by Tim Bunce . For other contributors see ChangeLog. .SH LICENSE .IX Header "LICENSE" Copyrights 1995\-2000 Graham Barr and 2001\-2017 Mark Overmeer . .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See \fIhttp://www.perl.com/perl/misc/Artistic.html\fR