IO::WithHeader::RFC822 - read/write RFC 822 header and body in one file
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
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.)
^D
For more information, see the documentation for the superclass, IO::WithHeader.
None that I know of.
IO::WithHeader, IO::WithHeader::YAML, YAML
Paul Hoffman (nkuitse AT cpan DOT org)
Copyright 2004 Paul M. Hoffman.
This is free software, and is made available under the same terms as Perl itself.
To install IO::WithHeader, copy and paste the appropriate command in to your terminal.
cpanm
cpanm IO::WithHeader
CPAN shell
perl -MCPAN -e shell install IO::WithHeader
For more information on module installation, please visit the detailed CPAN module installation guide.