Typos-be-gone.
[p5sagit/p5-mst-13.2.git] / pod / perldelta.pod
index 17cca4b..b4c008a 100644 (file)
@@ -28,11 +28,11 @@ Better Unicode support
 
 =item *
 
-New Thread Implementation
+New IO Implementation
 
 =item *
 
-Many New Modules
+New Thread Implementation
 
 =item *
 
@@ -44,6 +44,10 @@ Safe Signals
 
 =item *
 
+Many New Modules
+
+=item *
+
 More Extensive Regression Testing
 
 =back
@@ -233,12 +237,15 @@ source code level, this shouldn't be that drastic a change.
 
 =item *
 
-The PerlIO C<:raw> discipline (as described in Camel III) is deprecated
-because its definition (as either the discipline version of C<binmode(FH)>
-or as the opposite of C<:crlf>) didn't really work: most importantly
-because turning off "clrfness" is not enough to make a stream truly
-binary.  Instead of C<:raw> use one of the following: C<open(..., ':bytes')>,
-C<binmode(FH)>, C<sysopen()> + C<sysread()>.
+Previous versions of perl and some readings of some sections of Camel III
+implied that C<:raw> "discipline" was the inverse of  C<:crlf>.
+Turning off "clrfness" is no longer enough to make a stream truly
+binary. So the PerlIO C<:raw> discipline is now formally defined as being
+equivalent to binmode(FH) - which is in turn defined as doing whatever
+is necessary to pass each byte as-is without any translation.
+In particular binmode(FH) - and hence C<:raw> - will now turn off both CRLF
+and UTF-8  translation and remove other "layers" (e.g. :encoding()) which
+would modify byte stream.
 
 =item *
 
@@ -249,7 +256,9 @@ implemented differently.  Not only is the current interface rather
 ugly, but the current implementation slows down normal array and hash
 use quite noticeably. The C<fields> pragma interface will remain
 available.  The I<restricted hashes> interface is expected to
-be the replacement interface (see L<Hash::Util>).
+be the replacement interface (see L<Hash::Util>).  If your existing
+programs depends on the underlying implementation, consider using
+L<Class::PseudoHash> from CPAN.
 
 =item *
 
@@ -332,6 +341,17 @@ of PerlIO on your architecture name.
 
 =item *
 
+If your platform supports fork(), you can use the list form of C<open>
+for pipes.  For example:
+
+    open KID_PS, "-|", "ps", "aux" or die $!;
+
+forks the ps(1) command (without spawning a shell, as there are more
+than three arguments to open()), and reads its standard output via the
+C<KID_PS> filehandle.  See L<perlipc>.
+
+=item *
+
 File handles can be marked as accepting Perl's internal encoding of Unicode
 (UTF-8 or UTF-EBCDIC depending on platform) by a pseudo layer ":utf8" :
 
@@ -1032,7 +1052,7 @@ C<sort> is a new pragma for controlling the behaviour of sort().
 C<Storable> gives persistence to Perl data structures by allowing the
 storage and retrieval of Perl data to and from files in a fast and
 compact binary format.  Because in effect Storable does serialisation
-of Perl data structues, with it you can also clone deep, hierarchical
+of Perl data structures, with it you can also clone deep, hierarchical
 datastructures.  Storable was originally created by Raphael Manfredi,
 but it is now maintained by Abhijit Menon-Sen.  Storable has been
 enhanced to understand the two new hash features, Unicode keys and
@@ -1245,7 +1265,7 @@ enjoy the fixes.
 
 The arguments of WriteMakefile() in Makefile.PL are now checked
 for sanity much more carefully than before.  This may cause new
-warnings when modules are being insalled.  See L<ExtUtils::MakeMaker>
+warnings when modules are being installed.  See L<ExtUtils::MakeMaker>
 for more details.
 
 =item *
@@ -1962,8 +1982,8 @@ See L<perldgux>.
 
 =item *
 
-The DYNIX/ptx platform (a.k.a. dynixptx) is supported at or near
-osvers 4.5.2.
+The DYNIX/ptx platform (also known as dynixptx) is supported at or
+near osvers 4.5.2.
 
 =item *
 
@@ -3269,6 +3289,19 @@ In case of failure please try running them manually, for example
 
     ./perl -Ilib ext/Time/HiRes/HiRes.t
 
+=head2 Unicode in package/class and subroutine names does not work
+
+One can have Unicode in identifier names, but not in package/class or
+subroutine names.  While some limited functionality towards this does
+exist as of Perl 5.8.0, that is more accidental than designed; use of
+Unicode for the said purposes is unsupported.
+
+One reason of this unfinishedness is its (currently) inherent
+unportability: since both package names and subroutine names may
+need to be mapped to file and directory names, the Unicode capability
+of the filesystem becomes important-- and there unfortunately aren't
+portable answers.
+
 =head2 UNICOS/mk
 
 =over 4