Server IP : 85.214.239.14 / Your IP : 18.191.44.145 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/3/cwd/proc/3/cwd/usr/share/perl/5.36/PerlIO/via/ |
Upload File : |
# Copyright (C) 2002-2004, 2012 Elizabeth Mattijsen. All rights reserved. # Copyright (C) 2015 Steve Hay. All rights reserved. # This module is free software; you can redistribute it and/or modify it under # the same terms as Perl itself, i.e. under the terms of either the GNU General # Public License or the Artistic License, as specified in the F<LICENCE> file. package PerlIO::via::QuotedPrint; use 5.008001; # be as strict as possible use strict; our $VERSION = '0.09'; # modules that we need use MIME::QuotedPrint (); # no need to pollute this namespace # satisfy -require- 1; #------------------------------------------------------------------------------- # # Standard Perl features # #------------------------------------------------------------------------------- # IN: 1 class to bless with # 2 mode string (ignored) # 3 file handle of PerlIO layer below (ignored) # OUT: 1 blessed object sub PUSHED { bless \*PUSHED,$_[0] } #PUSHED #------------------------------------------------------------------------------- # IN: 1 instantiated object (ignored) # 2 handle to read from # OUT: 1 decoded string sub FILL { # decode and return my $line= readline( $_[1] ); return ( defined $line ) ? MIME::QuotedPrint::decode_qp($line) : undef; } #FILL #------------------------------------------------------------------------------- # IN: 1 instantiated object (ignored) # 2 buffer to be written # 3 handle to write to # OUT: 1 number of bytes written sub WRITE { # encode and write to handle: indicate result return ( print { $_[2] } MIME::QuotedPrint::encode_qp( $_[1] ) ) ? length( $_[1] ) : -1; } #WRITE #------------------------------------------------------------------------------- __END__ =head1 NAME PerlIO::via::QuotedPrint - PerlIO layer for quoted-printable strings =head1 SYNOPSIS 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"; =head1 DESCRIPTION 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. =head1 EXPORTS I<None>. =head1 KNOWN BUGS I<None>. =head1 FEEDBACK Patches, bug reports, suggestions or any other feedback is welcome. Patches can be sent as GitHub pull requests at L<https://github.com/steve-m-hay/PerlIO-via-QuotedPrint/pulls>. Bug reports and suggestions can be made on the CPAN Request Tracker at L<https://rt.cpan.org/Public/Bug/Report.html?Queue=PerlIO-via-QuotedPrint>. Currently active requests on the CPAN Request Tracker can be viewed at L<https://rt.cpan.org/Public/Dist/Display.html?Status=Active;Queue=PerlIO-via-QuotedPrint>. Please test this distribution. See CPAN Testers Reports at L<https://www.cpantesters.org/> for details of how to get involved. Previous test results on CPAN Testers Reports can be viewed at L<https://www.cpantesters.org/distro/P/PerlIO-via-QuotedPrint.html>. Please rate this distribution on CPAN Ratings at L<https://cpanratings.perl.org/rate/?distribution=PerlIO-via-QuotedPrint>. =head1 SEE ALSO L<PerlIO::via>, L<MIME::QuotedPrint>. =head1 ACKNOWLEDGEMENTS Based on an example in the standard library module MIME::QuotedPrint in Perl (version 5.8.0). =head1 AVAILABILITY The latest version of this module is available from CPAN (see L<perlmodlib/"CPAN"> for details) at L<https://metacpan.org/release/PerlIO-via-QuotedPrint> or L<https://www.cpan.org/authors/id/S/SH/SHAY/> or L<https://www.cpan.org/modules/by-module/PerlIO/>. The latest source code is available from GitHub at L<https://github.com/steve-m-hay/PerlIO-via-QuotedPrint>. =head1 INSTALLATION See the F<INSTALL> file. =head1 AUTHOR Elizabeth Mattijsen E<lt>L<liz@dijkmat.nl|mailto:liz@dijkmat.nl>E<gt>. Steve Hay E<lt>L<shay@cpan.org|mailto:shay@cpan.org>E<gt> is now maintaining PerlIO::via::QuotedPrint as of version 0.08. =head1 COPYRIGHT Copyright (C) 2002-2004, 2012 Elizabeth Mattijsen. All rights reserved. Copyright (C) 2015, 2020 Steve Hay. All rights reserved. =head1 LICENCE This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself, i.e. under the terms of either the GNU General Public License or the Artistic License, as specified in the F<LICENCE> file. =head1 VERSION Version 0.09 =head1 DATE 08 Dec 2020 =head1 HISTORY See the F<Changes> file. =cut