| 1 | package PerlIO::encoding;
|
|---|
| 2 |
|
|---|
| 3 | use strict;
|
|---|
| 4 | our $VERSION = '0.09';
|
|---|
| 5 | our $DEBUG = 0;
|
|---|
| 6 | $DEBUG and warn __PACKAGE__, " called by ", join(", ", caller), "\n";
|
|---|
| 7 |
|
|---|
| 8 | #
|
|---|
| 9 | # Equivalent of this is done in encoding.xs - do not uncomment.
|
|---|
| 10 | #
|
|---|
| 11 | # use Encode ();
|
|---|
| 12 |
|
|---|
| 13 | use XSLoader ();
|
|---|
| 14 | XSLoader::load(__PACKAGE__, $VERSION);
|
|---|
| 15 |
|
|---|
| 16 | our $fallback =
|
|---|
| 17 | Encode::PERLQQ()|Encode::WARN_ON_ERR()|Encode::STOP_AT_PARTIAL();
|
|---|
| 18 |
|
|---|
| 19 | 1;
|
|---|
| 20 | __END__
|
|---|
| 21 |
|
|---|
| 22 | =head1 NAME
|
|---|
| 23 |
|
|---|
| 24 | PerlIO::encoding - encoding layer
|
|---|
| 25 |
|
|---|
| 26 | =head1 SYNOPSIS
|
|---|
| 27 |
|
|---|
| 28 | open($f, "<:encoding(foo)", "infoo");
|
|---|
| 29 | open($f, ">:encoding(bar)", "outbar");
|
|---|
| 30 |
|
|---|
| 31 | use Encode qw(:fallbacks);
|
|---|
| 32 | $PerlIO::encoding::fallback = FB_PERLQQ;
|
|---|
| 33 |
|
|---|
| 34 | =head1 DESCRIPTION
|
|---|
| 35 |
|
|---|
| 36 | Open a filehandle with a transparent encoding filter.
|
|---|
| 37 |
|
|---|
| 38 | On input, convert the bytes expected to be in the specified
|
|---|
| 39 | character set and encoding to Perl string data (Unicode and
|
|---|
| 40 | Perl's internal Unicode encoding, UTF-8). On output, convert
|
|---|
| 41 | Perl string data into the specified character set and encoding.
|
|---|
| 42 |
|
|---|
| 43 | When the layer is pushed the current value of C<$PerlIO::encoding::fallback>
|
|---|
| 44 | is saved and used as the CHECK argument when calling the Encode methods encode()
|
|---|
| 45 | and decode().
|
|---|
| 46 |
|
|---|
| 47 | =head1 SEE ALSO
|
|---|
| 48 |
|
|---|
| 49 | L<open>, L<Encode>, L<perlfunc/binmode>, L<perluniintro>
|
|---|
| 50 |
|
|---|
| 51 | =cut
|
|---|