Integrate perlio:
[p5sagit/p5-mst-13.2.git] / pod / perluniintro.pod
index 0d840d1..cc11dde 100644 (file)
@@ -132,7 +132,7 @@ operations.  Only one case remains where an explicit C<use utf8> is
 needed: if your Perl script itself is encoded in UTF-8, you can use
 UTF-8 in your identifier names, and in string and regular expression
 literals, by saying C<use utf8>.  This is not the default because
-scripts with legacy 8-bit data in them would break.
+scripts with legacy 8-bit data in them would break.  See L<utf8>.
 
 =head2 Perl's Unicode Model
 
@@ -181,6 +181,11 @@ been led to believe that STDIN should be UTF-8, but then STDIN coming
 in from another command is not UTF-8, Perl will complain about the
 malformed UTF-8.
 
+All features that combine Unicode and I/O also require using the new
+PerlIO feature.  Almost all Perl 5.8 platforms do use PerlIO, though:
+you can see whether yours is by running "perl -V" and looking for
+C<useperlio=define>.
+
 =head2 Unicode and EBCDIC
 
 Perl 5.8.0 also supports Unicode on EBCDIC platforms.  There,
@@ -428,9 +433,7 @@ UTF-8 encoded.  A C<use open ':utf8'> would have avoided the bug, or
 explicitly opening also the F<file> for input as UTF-8.
 
 B<NOTE>: the C<:utf8> and C<:encoding> features work only if your
-Perl has been built with the new "perlio" feature.  Almost all 
-Perl 5.8 platforms do use "perlio", though: you can see whether
-yours is by running "perl -V" and looking for C<useperlio=define>.
+Perl has been built with the new PerlIO feature.
 
 =head2 Displaying Unicode As Text
 
@@ -588,7 +591,7 @@ than ASCII 0 to 9 (and ASCII a to f for hexadecimal).
 
 =over 4
 
-=item 
+=item *
 
 Will My Old Scripts Break?
 
@@ -600,7 +603,7 @@ produced a character modulo 255.  C<chr(300)>, for example, was equal
 to C<chr(45)> or "-" (in ASCII), now it is LATIN CAPITAL LETTER I WITH
 BREVE.
 
-=item 
+=item *
 
 How Do I Make My Scripts Work With Unicode?
 
@@ -608,7 +611,7 @@ Very little work should be needed since nothing changes until you
 generate Unicode data.  The most important thing is getting input as
 Unicode; for that, see the earlier I/O discussion.
 
-=item 
+=item *
 
 How Do I Know Whether My String Is In Unicode?
 
@@ -655,7 +658,7 @@ defined function C<length()>:
     print length($unicode), "\n"; # will also print 2
                                   # (the 0xC4 0x80 of the UTF-8)
 
-=item 
+=item *
 
 How Do I Detect Data That's Not Valid In a Particular Encoding?
 
@@ -679,7 +682,7 @@ warning is produced. The "U0" means "expect strictly UTF-8 encoded
 Unicode".  Without that the C<unpack("U*", ...)> would accept also
 data like C<chr(0xFF>), similarly to the C<pack> as we saw earlier.
 
-=item 
+=item *
 
 How Do I Convert Binary Data Into a Particular Encoding, Or Vice Versa?
 
@@ -734,14 +737,14 @@ B<Any random collection of bytes isn't well-formed UTF-8>.  You can
 use C<unpack("C*", $string)> for the former, and you can create
 well-formed Unicode data by C<pack("U*", 0xff, ...)>.
 
-=item 
+=item *
 
 How Do I Display Unicode?  How Do I Input Unicode?
 
 See http://www.alanwood.net/unicode/ and
 http://www.cl.cam.ac.uk/~mgk25/unicode.html
 
-=item 
+=item *
 
 How Does Unicode Work With Traditional Locales?