diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/PerlIO/encoding.pm')
-rwxr-xr-x | Master/tlpkg/tlperl/lib/PerlIO/encoding.pm | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm b/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm new file mode 100755 index 00000000000..f50c9c7b6f6 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm @@ -0,0 +1,53 @@ +package PerlIO::encoding; + +use strict; +our $VERSION = '0.11'; +our $DEBUG = 0; +$DEBUG and warn __PACKAGE__, " called by ", join(", ", caller), "\n"; + +# +# Equivalent of this is done in encoding.xs - do not uncomment. +# +# use Encode (); + +use XSLoader (); +XSLoader::load(__PACKAGE__, $VERSION); + +our $fallback = + Encode::PERLQQ()|Encode::WARN_ON_ERR()|Encode::STOP_AT_PARTIAL(); + +1; +__END__ + +=head1 NAME + +PerlIO::encoding - encoding layer + +=head1 SYNOPSIS + + use PerlIO::encoding; + + open($f, "<:encoding(foo)", "infoo"); + open($f, ">:encoding(bar)", "outbar"); + + use Encode qw(:fallbacks); + $PerlIO::encoding::fallback = FB_PERLQQ; + +=head1 DESCRIPTION + +This PerlIO layer opens a filehandle with a transparent encoding filter. + +On input, it converts the bytes expected to be in the specified +character set and encoding to Perl string data (Unicode and +Perl's internal Unicode encoding, UTF-8). On output, it converts +Perl string data into the specified character set and encoding. + +When the layer is pushed, the current value of C<$PerlIO::encoding::fallback> +is saved and used as the CHECK argument when calling the Encode methods +encode() and decode(). + +=head1 SEE ALSO + +L<open>, L<Encode>, L<perlfunc/binmode>, L<perluniintro> + +=cut |