.\" 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::Single 3pm" .TH Courriel::Part::Single 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::Single \- A part which does not contain other parts, only content .SH "VERSION" .IX Header "VERSION" version 0.29 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& my $headers = $part\->headers(); \& my $ct = $part\->content_type(); \& \& my $content = $part\->content(); \& print ${$content}; .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This class represents a single part that does not contain other parts, just content. .SH "API" .IX Header "API" This class provides the following methods: .SS "Courriel::Part::Single\->new( ... )" .IX Subsection "Courriel::Part::Single->new( ... )" This method creates a new part object. It accepts the following parameters: .IP "\(bu" 4 content .Sp This can either be a string or a reference to a scalar. It should be in Perl's native utf\-8 encoding and \fInot\fR a byte string. .Sp If you pass a reference, then the scalar underlying the reference may be modified, so don't pass in something you don't want modified. .IP "\(bu" 4 encoded_content .Sp This can either be a string or a reference to a scalar. .Sp If you pass a reference, then the scalar underlying the reference may be modified, so don't pass in something you don't want modified. .IP "\(bu" 4 content_type .Sp A Courriel::Header::ContentType object. This will default to one with the mime type \&\*(L"text/plain\*(R". .IP "\(bu" 4 disposition .Sp A Courriel::Header::Disposition object representing this part's content disposition. This will default to \*(L"inline\*(R" with no other attributes. .IP "\(bu" 4 encoding .Sp The Content-Transfer-Encoding for this part. This defaults to the value found in the part's headers, or \*(L"8bit\*(R" if no header is found. .IP "\(bu" 4 headers .Sp A Courriel::Headers object containing headers for this part. .PP You must pass a \f(CW\*(C`content\*(C'\fR or \f(CW\*(C`encoded_content\*(C'\fR value when creating a new part, but there's really no point in passing both. .PP It is strongly recommended that you pass a \f(CW\*(C`content\*(C'\fR parameter and letting this module do the encoding for you internally. .ie n .SS "$part\->\fIcontent()\fP" .el .SS "\f(CW$part\fP\->\fIcontent()\fP" .IX Subsection "$part->content()" This returns returns the decoded content for the part. It will be in Perl's native utf\-8 encoding, decoded from whatever character set the content is in. .ie n .SS "$part\->\fIencoded_content()\fP" .el .SS "\f(CW$part\fP\->\fIencoded_content()\fP" .IX Subsection "$part->encoded_content()" This returns returns the encoded content for the part. .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\->\fIhas_charset()\fP" .el .SS "\f(CW$part\fP\->\fIhas_charset()\fP" .IX Subsection "$part->has_charset()" Return true if the part has a charset defined. Binary attachments will usually not have this defined. .ie n .SS "$part\->\fIcharset()\fP" .el .SS "\f(CW$part\fP\->\fIcharset()\fP" .IX Subsection "$part->charset()" Returns the charset 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 return boolean values based on the part's content disposition. .ie n .SS "$part\->\fIfilename()\fP" .el .SS "\f(CW$part\fP\->\fIfilename()\fP" .IX Subsection "$part->filename()" Returns the filename from the part's content disposition, if any. .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\->\fIdisposition()\fP" .el .SS "\f(CW$part\fP\->\fIdisposition()\fP" .IX Subsection "$part->disposition()" Returns the Courriel::Header::Disposition object for this part. .ie n .SS "$part\->\fIencoding()\fP" .el .SS "\f(CW$part\fP\->\fIencoding()\fP" .IX Subsection "$part->encoding()" Returns the encoding for the 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_multipart()\fP" .el .SS "\f(CW$part\fP\->\fIis_multipart()\fP" .IX Subsection "$part->is_multipart()" Returns false. .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\->\fIcontent_ref()\fP" .el .SS "\f(CW$part\fP\->\fIcontent_ref()\fP" .IX Subsection "$part->content_ref()" This returns returns a reference to a scalar containing the decoded content for the part. .ie n .SS "$part\->\fIencoded_content_ref()\fP" .el .SS "\f(CW$part\fP\->\fIencoded_content_ref()\fP" .IX Subsection "$part->encoded_content_ref()" This returns returns a reference to a scalar containing the encoded content for the part, without any decoding. .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". .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. .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