Mail::Message::Construct::Text - capture a Mail::Message as text


 my $text = $msg->string;
 my $text = "$msg";   # via overload

 my @text = $msg->lines;
 my @text = @$lines;  # via overload

 my $fh   = $msg->file;
 my $line = <$fh>;



Complex functionality on Mail::Message objects is implemented in different files which are autoloaded. This file implements the functionality related to creating message replies.


The whole message as text


Returns the message as file-handle.


Returns the whole message as set of lines. In LIST context, copies of the lines are returned. In SCALAR context, a reference to an array of lines is returned.

$obj->printStructure( [$fh|undef],[$indent] )

Print the structure of a message to the specified $fh or the selected filehandle. When explicitly undef is specified as handle, then the output will be returned as string.

The message's subject and the types of all composing parts are displayed.

$indent specifies the initial indentation string: it is added in front of each line. The $indent must contain at least one white-space.


 my $msg = ...;


 my $struct = $msg->printStructure(undef);

 # Possible output for one message:
 multipart/mixed: forwarded message from Pietje Puk (1550 bytes)
    text/plain (164 bytes)
    message/rfc822 (1043 bytes)
       multipart/alternative: A multipart alternative (942 bytes)
          text/plain (148 bytes, deleted)
          text/html (358 bytes)

Returns the whole message as string.



This module is part of Mail-Message distribution version 3.008, built on February 11, 2019. Website:


Copyrights 2001-2019 by [Mark Overmeer <>]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See