IO::WithHeader::RFC822 - read/write RFC 822 header and body in one file


IO-WithHeader documentation  | view source Contained in the IO-WithHeader distribution.

Index


NAME

Top

IO::WithHeader::RFC822 - read/write RFC 822 header and body in one file

SYNOPSIS

Top

    use IO::WithHeader::RFC822;

    $io = IO::WithHeader::RFC822->new($path_or_filehandle);
    $io = IO::WithHeader::RFC822->new(\%header);
    $io = IO::WithHeader::RFC822->new(
        'path'   => '/path/to/a/file/which/might/not/exist/yet',
        'handle' => $fh,
        'header' => { 'From' => $from, 'Date' => $date, ... },
        'body'   => $scalar_or_filehandle_to_copy_from,
    );

    $io->open($path, '>') or die;  # Open the body
    print $io "Something to put in the file's body\n";

    $path = $io->path;
    $io->path('/path/to/a/file');
    $io->open or die;
    while (<$io>) { ... }

    %header = %{ $io->header };
    $io->header(\%header);

    $body = $io->body;  # Read the entire body
    $io->body($body);   # Write the entire body

DESCRIPTION

Top

IO::WithHeader::RFC822 reads and writes files containing a header in RFC 822 form. The header may be changed without changing the body, and the body may be read from or writen to without disturbing the header.

The file (or filehandle) must begin with a valid RFC 822 header, followed by a blank line. The rest of the file or stream can be anything at all. Here's a simple example:

    Name: Ulysses K. Fishwick
    E-mail: fishwick@example.com
    Age: 93

    Ulysses plays well with others.
    ^D

(Here, ^D indicates the end of the file.)

For more information, see the documentation for the superclass, IO::WithHeader.

BUGS

Top

None that I know of.

SEE ALSO

Top

IO::WithHeader, IO::WithHeader::YAML, YAML

AUTHOR

Top

Paul Hoffman (nkuitse AT cpan DOT org)

COPYRIGHT

Top


IO-WithHeader documentation  | view source Contained in the IO-WithHeader distribution.