.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" 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 .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' '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 turned on, 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. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Courriel::Part::Multipart 3pm" .TH Courriel::Part::Multipart 3pm "2012-03-07" "perl v5.14.2" "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" Courriel::Part::Multipart \- A part which contains other parts .SH "VERSION" .IX Header "VERSION" version 0.29 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& my $headers = $part\->headers(); \& my $ct = $part\->content_type(); \& \& for my $subpart ( $part\->parts ) { ... } .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This class represents a multipart email part which contains other parts. .SH "API" .IX Header "API" This class provides the following methods: .SS "Courriel::Part::Multipart\->new( ... )" .IX Subsection "Courriel::Part::Multipart->new( ... )" This method creates a new part object. It accepts the following parameters: .IP "\(bu" 4 parts .Sp An array reference of part objects (either Single or Multipart). This is required, but could be empty. .IP "\(bu" 4 content_type .Sp A Courriel::Header::ContentType object. This defaults to one with a mime type of \&\*(L"multipart/mixed\*(R". .IP "\(bu" 4 boundary .Sp The part boundary. If none is provided, a unique value will be generated. .IP "\(bu" 4 preamble .Sp Content that appears before the first part boundary. This will be seen by email clients that don't understand multipart messages. .IP "\(bu" 4 epilogue .Sp Content that appears after the final part boundary. The spec allows for this, but it's probably not very useful. .IP "\(bu" 4 headers .Sp A Courriel::Headers object containing headers for this part. .ie n .SS "$part\->\fIparts()\fP" .el .SS "\f(CW$part\fP\->\fIparts()\fP" .IX Subsection "$part->parts()" Returns an array (not a reference) of the parts this part contains. .ie n .SS "$part\->\fIpart_count()\fP" .el .SS "\f(CW$part\fP\->\fIpart_count()\fP" .IX Subsection "$part->part_count()" Returns the number of parts this part contains. .ie n .SS "$part\->\fIboundary()\fP" .el .SS "\f(CW$part\fP\->\fIboundary()\fP" .IX Subsection "$part->boundary()" Returns the part boundary. .ie n .SS "$part\->\fImime_type()\fP" .el .SS "\f(CW$part\fP\->\fImime_type()\fP" .IX Subsection "$part->mime_type()" Returns the mime type for this part. .ie n .SS "$part\->\fIcontent_type()\fP" .el .SS "\f(CW$part\fP\->\fIcontent_type()\fP" .IX Subsection "$part->content_type()" Returns the Courriel::Header::ContentType object for this part. .ie n .SS "$part\->\fIheaders()\fP" .el .SS "\f(CW$part\fP\->\fIheaders()\fP" .IX Subsection "$part->headers()" Returns the Courriel::Headers object for this part. .ie n .SS "$part\->\fIis_inline()\fP, $part\->\fIis_attachment()\fP" .el .SS "\f(CW$part\fP\->\fIis_inline()\fP, \f(CW$part\fP\->\fIis_attachment()\fP" .IX Subsection "$part->is_inline(), $part->is_attachment()" These methods always return false, but exist for the sake of providing a consistent \s-1API\s0 between Single and Multipart part objects. .ie n .SS "$part\->\fIis_multipart()\fP" .el .SS "\f(CW$part\fP\->\fIis_multipart()\fP" .IX Subsection "$part->is_multipart()" Returns true. .ie n .SS "$part\->\fIpreamble()\fP" .el .SS "\f(CW$part\fP\->\fIpreamble()\fP" .IX Subsection "$part->preamble()" The preamble as passed to the constructor. .ie n .SS "$part\->\fIepilogue()\fP" .el .SS "\f(CW$part\fP\->\fIepilogue()\fP" .IX Subsection "$part->epilogue()" The epilogue as passed to the constructor. .ie n .SS "$part\->\fIcontainer()\fP" .el .SS "\f(CW$part\fP\->\fIcontainer()\fP" .IX Subsection "$part->container()" Returns the Courriel or Courriel::Part::Multipart object to which this part belongs, if any. This is set when the part is added to another object. .ie n .SS "$part\->stream_to( output => $output )" .el .SS "\f(CW$part\fP\->stream_to( output => \f(CW$output\fP )" .IX Subsection "$part->stream_to( output => $output )" This method will send the stringified part to the specified output. The output can be a subroutine reference, a filehandle, or an object with a \&\f(CW\*(C`print()\*(C'\fR method. The output may be sent as a single string, as a list of strings, or via multiple calls to the output. .PP See the \f(CW\*(C`as_string()\*(C'\fR method for documentation on the \f(CW\*(C`charset\*(C'\fR parameter. .ie n .SS "$part\->\fIas_string()\fP" .el .SS "\f(CW$part\fP\->\fIas_string()\fP" .IX Subsection "$part->as_string()" Returns the part as a string, along with its headers. Lines will be terminated with \*(L"\er\en\*(R". .SH "ROLES" .IX Header "ROLES" This class does the \f(CW\*(C`Courriel::Role::Part\*(C'\fR and Courriel::Role::Streams roles. .SH "AUTHOR" .IX Header "AUTHOR" Dave Rolsky .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is Copyright (c) 2012 by Dave Rolsky. .PP This is free software, licensed under: .PP .Vb 1 \& The Artistic License 2.0 (GPL Compatible) .Ve