.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) .\" .\" 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 "Email::Folder::Mbox 3pm" .TH Email::Folder::Mbox 3pm "2009-07-27" "perl v5.10.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" Email::Folder::Mbox \- reads raw RFC822 mails from an mbox file .SH "SYNOPSIS" .IX Header "SYNOPSIS" This isa Email::Folder::Reader \- read about its \s-1API\s0 there. .SH "DESCRIPTION" .IX Header "DESCRIPTION" Does exactly what it says on the tin \- fetches raw \s-1RFC822\s0 mails from an mbox. .PP The mbox format is described at http://www.qmail.org/man/man5/mbox.html .PP We attempt to read an mbox as through it's the mboxcl2 variant, falling back to regular mbox mode if there is no \f(CW\*(C`Content\-Length\*(C'\fR header to be found. .SS "\s-1OPTIONS\s0" .IX Subsection "OPTIONS" The new constructor takes extra options. .ie n .IP """eol""" 4 .el .IP "\f(CWeol\fR" 4 .IX Item "eol" This indicates what the line-ending style is to be. The default is \&\f(CW"\en"\fR, but for handling files with mac line-endings you would want to specify \f(CW\*(C`eol => "\ex0d"\*(C'\fR .ie n .IP """jwz_From_""" 4 .el .IP "\f(CWjwz_From_\fR" 4 .IX Item "jwz_From_" The value is taken as a boolean that governs what is used match as a message seperator. .Sp If false we use the mutt style .Sp .Vb 2 \& /^From \eS+\es+(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)/ \& /^From (?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)/; .Ve .Sp If true we use .Sp .Vb 1 \& /^From / .Ve .Sp In deference to this extract from .Sp .Vb 6 \& Essentially the only safe way to parse that file format is to \& consider all lines which begin with the characters \`\`From \*(Aq\*(Aq \& (From\-space), which are preceded by a blank line or \& beginning\-of\-file, to be the division between messages. That is, the \& delimiter is "\en\enFrom .*\en" except for the very first message in the \& file, where it is "^From .*\en". \& \& Some people will tell you that you should do stricter parsing on \& those lines: check for user names and dates and so on. They are \& wrong. The random crap that has traditionally been dumped into that \& line is without bound; comparing the first five characters is the \& only safe and portable thing to do. Usually, but not always, the next \& token on the line after \`\`From \*(Aq\*(Aq will be a user\-id, or email \& address, or UUCP path, and usually the next thing on the line will be \& a date specification, in some format, and usually there\*(Aqs nothing \& after that. But you can\*(Aqt rely on any of this. .Ve .Sp Defaults to false. .ie n .IP """seek_to""" 4 .el .IP "\f(CWseek_to\fR" 4 .IX Item "seek_to" Seek to an offset when opening the mbox. When used in combination with \&\->tell you may be able to resume reading, with a trailing wind. .ie n .IP """tell""" 4 .el .IP "\f(CWtell\fR" 4 .IX Item "tell" This returns the current filehandle position in the mbox. .SH "AUTHORS" .IX Header "AUTHORS" Simon Wistow .PP Richard Clamp .SH "COPYING" .IX Header "COPYING" Copyright 2003, Simon Wistow .PP Distributed under the same terms as Perl itself. .PP This software is under no warranty and will probably ruin your life, kill your friends, burn your house and bring about the apocolapyse. .SH "SEE ALSO" .IX Header "SEE ALSO" Email::LocalDelivery, Email::Folder