Commit | Line | Data |
---|---|---|
920dae64 AT |
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 |