Ricardo SIGNES > Email-Simple-FromHandle-0.054 > Email::Simple::FromHandle

Download:
Email-Simple-FromHandle-0.054.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.054   Source  

NAME ^

Email::Simple::FromHandle - an Email::Simple but from a handle

VERSION ^

version 0.054

SYNOPSIS ^

  use Email::Simple::FileHandle;

  open my $fh, "<", "email.msg";

  my $email = Email::Simple::FromHandle->new($fh);

  print $email->as_string;
  # or
  $email->stream_to(\*STDOUT);

DESCRIPTION ^

This is a subclass of Email::Simple which can accept filehandles as the source of an email. It will keep a reference to the filehandle and read from it when it needs to access the body. It does not load the entire body into memory and keep it there.

METHODS ^

In addition to the standard Email::Simple interface, the following methods are provided:

handle

This returns the handle given to construct the message. If the message was constructed with a string instead, it returns an IO::String object.

body_pos

This method returns the position in the handle at which the body begins. This is used for seeking when re-reading the body.

reset_handle

This method seeks the handle to the body position and resets the header-line iterator.

For unseekable handles (pipes, sockets), this will die.

getline

  $str = $email->getline;

This method returns either the next line from the headers or the next line from the underlying filehandle. It only returns a single line, regardless of context. Returns undef on EOF.

stream_to

  $email->stream_to($fh, [ \%arg ]);

This method efficiently writes the message to the passed-in filehandle.

The second argument may be a hashref of options:

reset_handle:

Whether or not to call $self->reset_handle before reading the message (default true).

chunk_size:

Number of bytes to read from $self->handle at once (default 65536).

write:

Coderef to use to print instead of print $fh $chunk. This coderef will receive two arguments, the 'filehandle' (which need not be a real filehandle at all) and the current chunk of data.

CREDITS ^

Ricardo SIGNES wrote Email::Simple.

Numerous improvement, especially streamability the handling of pipes, were made by Hans Dieter Pearcey.

AUTHOR ^

Ricardo SIGNES <rjbs@cpan.org>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2006 by Ricardo SIGNES.

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

syntax highlighting: