summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2003-08-26 08:54:02 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2003-08-26 08:54:02 +0000
commit756189a56ad5859c77093ea1770647e4355c6aeb (patch)
tree0bb188be581fa4d7bd4e896c737f54799ee02144
parent0c45d622c9a2e592a5401e1add3c9e8a9170179a (diff)
downloadperl-756189a56ad5859c77093ea1770647e4355c6aeb.tar.gz
PerlIO on EBCDIC on BS2000 advice from Thomas Dorner.
(This information looks interesting enough to be mentioned elsewhere, too.) p4raw-id: //depot/perl@20903
-rw-r--r--README.bs200034
1 files changed, 34 insertions, 0 deletions
diff --git a/README.bs2000 b/README.bs2000
index 1a0f5b7e1a..a7746c64e2 100644
--- a/README.bs2000
+++ b/README.bs2000
@@ -174,6 +174,40 @@ Perl code:
Although one would expect the quantities $y and $z to be the same and equal
to 100000 they will differ and instead will be 0 and 100000 respectively.
+=head2 Using PerlIO and different encodings on ASCII and EBCDIC partitions
+
+Since version 5.8 Perl uses the new PerlIO on BS2000. This enables
+you using different encodings per IO channel. For example you may use
+
+ use Encode;
+ open($f, ">:encoding(ascii)", "test.ascii");
+ print $f "Hello World!\n";
+ open($f, ">:encoding(posix-bc)", "test.ebcdic");
+ print $f "Hello World!\n";
+ open($f, ">:encoding(latin1)", "test.latin1");
+ print $f "Hello World!\n";
+ open($f, ">:encoding(utf8)", "test.utf8");
+ print $f "Hello World!\n";
+
+to get two files containing "Hello World!\n" in ASCII, EBCDIC, ISO
+Latin-1 (in this example identical to ASCII) respective UTF-EBCDIC (in
+this example identical to normal EBCDIC). See the documentation of
+Encode::PerlIO for details.
+
+As the PerlIO layer uses raw IO internally, all this totally ignores
+the type of your filesystem (ASCII or EBCDIC) and the IO_CONVERSION
+environment variable. If you want to get the old behavior, that the
+BS2000 IO functions determine conversion depending on the filesystem
+PerlIO still is your friend. You use IO_CONVERSION as usual and tell
+Perl, that it should use the native IO layer:
+
+ export IO_CONVERSION=YES
+ export PERLIO=stdio
+
+Now your IO would be ASCII on ASCII partitions and EBCDIC on EBCDIC
+partitions. See the documentation of PerlIO (without C<Encode::>!)
+for further posibilities.
+
=head1 AUTHORS
Thomas Dorner