package PerlIO
::via
::QuotedPrint
;
# Make sure we do things by the book from now on
# Make sure the encoding/decoding stuff is available
use MIME
::QuotedPrint
(); # no need to pollute this namespace
#-----------------------------------------------------------------------
# IN: 1 class to bless with
# 2 mode string (ignored)
# 3 file handle of PerlIO layer below (ignored)
sub PUSHED
{ bless \
*PUSHED
,$_[0] } #PUSHED
#-----------------------------------------------------------------------
# IN: 1 instantiated object (ignored)
# Read the line from the handle
# Decode if there is something decode and return result or signal eof
my $line = readline( $_[1] );
(defined $line) ? MIME
::QuotedPrint
::decode_qp
( $line ) : undef;
#-----------------------------------------------------------------------
# IN: 1 instantiated object (ignored)
# OUT: 1 number of bytes written
# Encode whatever needs to be encoded and write to handle: indicate result
(print {$_[2]} MIME
::QuotedPrint
::encode_qp
($_[1])) ?
length($_[1]) : -1;
PerlIO::via::QuotedPrint - PerlIO layer for quoted-printable strings
use PerlIO::via::QuotedPrint;
open( my $in,'<:via(QuotedPrint)','file.qp' )
or die "Can't open file.qp for reading: $!\n";
open( my $out,'>:via(QuotedPrint)','file.qp' )
or die "Can't open file.qp for writing: $!\n";
This module implements a PerlIO layer that works on files encoded in the
quoted-printable format. It will decode from quoted-printable while reading
from a handle, and it will encode as quoted-printable while writing to a handle.
L<PerlIO::via>, L<MIME::QuotedPrint>, L<PerlIO::via::Base64>,
L<PerlIO::via::MD5>, L<PerlIO::via::StripHTML>, L<PerlIO::via::Rotate>.
Based on example that was initially added to MIME::QuotedPrint.pm for the
5.8.0 distribution of Perl.
Copyright (c) 2002-2003 Elizabeth Mattijsen. All rights reserved. This
library is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.